Responsive Design zwykle nie używa żadnych atrybutów szerokości ani wysokości
Narzędzia programistyczne Google to przewodnik i nie powinieneś egzekwować wszystkiego, co czytasz na ich stronie, w rzeczywistości niektóre rzeczy są nieaktualne. Większość responsywnych stron internetowych nie używa width
lub height
dlatego, że chcą, aby obrazy dostosowały się do rozmiaru ekranu, a dzięki zastosowaniu stałej szerokości i wysokości, <img>
co pogorszyłoby wrażenia użytkownika, a Google uznał to za jeden z najważniejszych czynników.
Obejście CSS
Możesz wybrać element poziomu bloku, który ma szerokość i wysokość, osobiście nie użyłbym jednego, ale oto, co Google mówi o poziomie bloku.
Podaj wymiary elementu obrazu lub elementu nadrzędnego na poziomie bloku Upewnij się, że wymiary zostały określone na samym elemencie lub obiekcie nadrzędnym na poziomie bloku. Jeśli element nadrzędny nie jest na poziomie bloku, wymiary zostaną zignorowane. Nie ustawiaj wymiarów na przodku, który nie jest bezpośrednim rodzicem.
Wyobrażam sobie, że wyglądałoby to mniej więcej tak:
Projekt statyczny .ic {width:500px;height:500px;}
Elastyczny projekt:
@media only screen and (max-width: 40em){.ic{width:1px;height:1px;}} Mobiles
@media only screen and (min-width: 40.063em){.ic{width:1px;height:1px;}} Tablets
@media only screen and (min-width: 40.063em) and (max-width: 64em){.ic{width:1px;height:1px;}} Small Screens
@media only screen and (min-width: 64.063em){.ic{width:1px;height:1px;}} Large Screens
Następnie musisz użyć JavaScript lub innego rozwiązania, aby wykryć punkt widzenia i podać 4 różne wersje obrazu, co znowu jest mniej niż praktyczne. Więc jeśli używasz responsywnego projektu, to śmiało bym śmiało dodawał szerokość i wysokość, aby twoja strona była płynna bez względu na to, jaki ekran ją ogląda.