Задать вопрос

Пропорции блоков на css. Есть ли современное решение?

На дворе уже 2020 год, а для создания блока с заданными пропорциями до сих пор используется padding-top в процентах.
Всё бы ничего, но контент внутри такого блока надо делать с абсолютным позиционированием, а это приносит свои минусы.
Может есть какое-то более современное решение, про которое я не знаю? Может через гриды как-нибудь?

Подробнее, если описание непонятно: например нам надо сделать блок с картинкой, который всегда будет квадратным, вне зависимости от пропорций картинки внутри него. Так же это часто используется для адаптивных оберток видео.
  • Вопрос задан
  • 1729 просмотров
Подписаться 5 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Frontend-разработчик: тариф PRO
    10 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 2
@Flying
Да, есть свойство aspect-ratio которое потихоньку начинает появляться в современных браузерах. Однако, поигравшись с ним немного - могу сказать что пока что использовать его на практике смысла никакого, придётся подождать пару лет как минимум.

На всякий случай ещё дам ссылку на статью, посвящённую разработке этого свойства.
Ответ написан
Комментировать
Qudenrash
@Qudenrash
Вариант №1 (статический) Блок с картинкой, который всегда будет квадратным, вне зависимости от пропорций картинки внутри него:
https://codepen.io/codeshonpen/pen/Rwrpeap

Вариант №2 ("резиновый"):
https://codepen.io/codeshonpen/pen/LYGWgKL
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
div {
   width: 300px;
   height: 300px;
}

div img {
   width: 100%;
   height: 100%;
   object-fit: cover; #работает так же как и бекграунд
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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