Я использую CSS, и я хочу создать коробку с определенным соотношением , которое сохраняется независимо от размера окна. Но также я хочу, чтобы поле увеличивалось, если в нем больше контента.
Чтобы выразить слова в порядке:
- Только CSS (если возможно)
- сохранить заданное соотношение сторон
- Разрешить коробку расти, если есть больше контента (с отношением)
В тех методах, которые я до сих пор пробовал, содержимое ящика не способно увеличить размер окна. Вместо этого мои единственные варианты перекрывают или обрезают содержимое.
Первый и третий методы занимают пространство внутри обертки, а контент помещается поверх этого, используя абсолютную позицию. Поскольку контент абсолютно позиционируется, он удаляется из потока документов. Поэтому он не может расширить оберточный элемент.
Второй вариант использует фиксированную высоту, которая не позволяет также вырастить контент за его пределами.
Ниже приведена демоверсия, использующая второй вариант. (на основе единиц просмотра)
* {margin: 0; padding: 0;}
div{
width: 50vmin; height: 50vmin;
font-size: 30px;
background: #ccc;
margin: auto;
padding: 3%;
}
<div>
<p>If you scale your window, you will see that the text does not fit into the box at some point, and therefore the text will be overlapping the box.<p>
</div>