Говорят, что "заполнение в процентах основано на ширине родительского элемента" . Padding-top: 100%
с width: 100%
должно дать мне квадратную форму. Это не совсем мой случай, и я не понимаю, почему.
Допустим, у меня есть такая структура:
<body>
<div class="wrapper">
<div class="page">
<div class="group">
<div class="section">
</div>
</div>
</div>
</div>
</body>
Я хочу сделать квадрат "сечения". Я также хочу сделать некоторые границы на странице. Поэтому я делаю это:
.wrapper {
display: flex;
width: 100%;
justify-content: center;
}
.page {
/* Making border this way */
width: 95%;
}
.group {
width: 100%;
}
.section {
/* Making square */
width: 100%;
padding-top: 100%;
}
Но оказывается, что мой "квадрат" немного выше, чем должен. Как на 5% выше. В моем понимании я говорю браузеру «возьми 100% w от« group », что равняется 100% w от« section », и сделай так» section »таким высоким». Очевидно, что это работает не так, как я ожидал.
Так что любая помощь, объясняющая, что не так с моей логикой c, или, что еще лучше, как сохранить относительные пропорции элементов на всех экранах без использования абсолютных чисел, будет оценена!