maler1988
@maler1988
Web-программист (1С Bitrix)

Как правильнее сверстать блок с картинкой растянутой по всей ширине и высоте?

Есть такой вот блок joxi.ru/1A5bnPGInEBzgr в обычном состоянии блок залит цветом, при hover-е под заливкой проявляется картинка растянутая на весь блок. Самым простом решением на мой взгляд было бы прописать картинку как background а заливку делать через псевдокласс :before абсолютно спозиционированный над блоком. Но это будет страница акций и картинка будет браться из БД, как-то не очень красиво если для каждого элемента списка акций в HTML будут прописаны стили style="background-image: ...." . Как можно реализовать это по другому? Размещая в коде тег ?

Заметьте что ширина задаётся в процентах, высоту можно конечно поставить жёсткую или min-height. Как вообще вы поступаете когда надо сверстать нечто подобное?
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
RadCor
@RadCor
Если мой ответ вам помог, отмечайте его решением.
Я всегда делаю такие вещи через background, и свойство background-size: cover

https://jsfiddle.net/RadCor/zbrdosjz/

Или можно использовать flex box и как написал Сергей, заюзать object-fit, только одного его будет мало.
В общем вот рабочий вариант, думаю Вам он точно подойдёт, результат такой же как с background-size: cover но без использования backgaround

https://jsfiddle.net/RadCor/2a1duus2/1/
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Придется прописать в<div style="backgr...">
Так картинка будет попадать сразу из базы. Для всех элементов будет одинаковый стиль, кроме url картинки
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы