Obecnie pracuję nad mobilnym landingiem dla firmy. To naprawdę podstawowy układ, ale pod nagłówkiem znajduje się zdjęcie produktu, który zawsze będzie miał 100% szerokości (projekt pokazuje, że zawsze przechodzi od krawędzi do krawędzi). W zależności od szerokości ekranu wysokość obrazu oczywiście odpowiednio się dostosuje. Pierwotnie zrobiłem to z img (z szerokością CSS 100%) i działało świetnie, ale zdałem sobie sprawę, że chciałbym używać zapytań o media, aby wyświetlać różne obrazy na podstawie różnych rozdzielczości - powiedzmy mały, średni i na przykład duża wersja tego samego obrazu. Wiem, że nie możesz zmienić img src za pomocą CSS, więc pomyślałem, że powinienem użyć tła CSS dla obrazu, a nie tagu img w HTML.
Nie wydaje mi się, aby to działało poprawnie, ponieważ element div z obrazem tła wymaga zarówno szerokości, jak i wysokości, aby wyświetlić tło. Mogę oczywiście użyć „width: 100%”, ale co mam użyć do określenia wysokości? Mogę ustawić losową stałą wysokość, na przykład 150 pikseli, a następnie mogę zobaczyć górne 150 pikseli obrazu, ale to nie jest rozwiązanie, ponieważ nie ma stałej wysokości. Po zabawie stwierdziłem, że gdy pojawi się wysokość (testowana przy użyciu 150px), mogę użyć parametru „background-size: 100%”, aby prawidłowo dopasować obraz w elemencie div. Mogę użyć nowszego CSS3 do tego projektu, ponieważ jest przeznaczony wyłącznie dla urządzeń mobilnych.
Poniżej dodałem przybliżony przykład. Proszę wybaczyć style wbudowane, ale chciałem podać podstawowy przykład, aby moje pytanie było trochę jaśniejsze.
<div id="image-container">
<div id="image" style="background: url(image.jpg) no-repeat; width: 100%; height: 150px; background-size: 100%;"></div>
</div>
Czy może muszę podawać elementowi div kontenera procentową wysokość na podstawie całej strony, czy też patrzę na to całkowicie źle?
Czy uważasz, że tła CSS to najlepszy sposób na zrobienie tego? Może istnieje technika, która obsługuje różne tagi img w zależności od szerokości urządzenia / ekranu. Ogólna idea jest taka, że szablon strony docelowej będzie używany wiele razy z różnymi zdjęciami produktów, więc muszę się upewnić, że opracuję go w najlepszy możliwy sposób.
Przepraszam, jest to trochę rozwlekłe, ale przechodzę od tego projektu do następnego, więc chciałbym załatwić tę małą rzecz. Z góry dziękuję za poświęcony czas, to bardzo cenne. pozdrowienia