Зараз я працюю над мобільною цільовою сторінкою компанії. Це справді базовий макет, але під заголовком є зображення товару, яке завжди матиме 100% ширини (дизайн показує, що воно завжди йде від краю до краю). Залежно від ширини екрану висота зображення, очевидно, буде відповідно регулюватися. Спочатку я зробив це з img (із шириною CSS 100%), і це спрацювало чудово, але я зрозумів, що хотів би використовувати медіа-запити для подання різних зображень на основі різних роздільних здатностей - скажімо, малого, середнього та велика версія того самого зображення, наприклад. Я знаю, що ви не можете змінити img src за допомогою CSS, тому я вирішив, що повинен використовувати фон CSS для зображення, на відміну від тегу img у HTML.
Я не можу зрозуміти, що це працює належним чином, оскільки div з фоновим зображенням потребує як ширини, так і висоти, щоб показати фон. Я, очевидно, можу використовувати 'width: 100%', але що я використовую для висоти? Я можу поставити випадкову фіксовану висоту, таку як 150px, і тоді я бачу верхні 150px зображення, але це не рішення, оскільки немає фіксованої висоти. Я зіграв і виявив, що коли є висота (протестована із 150px), я можу використовувати 'background-size: 100%', щоб правильно розмістити зображення в div. Я можу використовувати найновіший CSS3 для цього проекту, оскільки він орієнтований виключно на мобільні пристрої.
Нижче я додав приблизний приклад. Будь ласка, вибачте за вбудованими стилями, але я хотів би навести базовий приклад, щоб спробувати зробити своє питання трохи зрозумілішим.
<div id="image-container">
<div id="image" style="background: url(image.jpg) no-repeat; width: 100%; height: 150px; background-size: 100%;"></div>
</div>
Мені, можливо, доводиться давати контейнеру div відсоток висоти на основі цілої сторінки, чи я дивлюсь на це абсолютно неправильно?
Крім того, чи вважаєте ви, що фони CSS - найкращий спосіб це зробити? Можливо, існує техніка, яка обслуговує різні теги img залежно від ширини пристрою / екрану. Загальна ідея полягає в тому, що шаблон цільової сторінки буде використовуватися неодноразово з різними зображеннями товару, тому мені потрібно переконатись, що я розроблю це найкращий можливий спосіб.
Я перепрошую, що це трохи довгомовно, але я від цього проекту до наступного, тому я хотів би зробити цю дрібницю. Заздалегідь дякуємо за ваш час, це дуже вдячно. З повагою