У меня есть div с буквой:
HTML
<div>A</div>
CSS
div {
border: 1px solid black;
background-color: #CC0000;
width: 150px;
height: 150px;
margin: 10px 5px 5px 50px;
padding: 0px 30px 0px 10px /* I want to move my letter with it */
}
Буква перемещается из-за свойства padding, но при этом квадрат становится больше. Почему заполнение преобразует квадрат в прямоугольник?
JSF: http://jsfiddle.net/fnBaD/1
3 ответа
Заполнение всегда применяется «внутри» элемента. Следовательно,
padding:5px;
Эффективно добавляет 5px
со всех четырех сторон «внутри» элемента.
Следовательно, свойство padding
увеличивает размер элементов.
Заполнение считается частью элемента, к которому оно применяется. Вот почему элемент становится больше.
Стандартная «блочная модель» НЕ включает отступы / границы в расчеты ширины / высоты.
Добавление свойства box-sizing:border-box
заставит браузер ВКЛЮЧИТЬ отступы / границы в измерениях.
Часто встречается в универсальном селекторе.
* {
box-sizing:border-box;
}
https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing
Похожие вопросы
Связанные вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].