Изучаем блочные элементы
Изучаем блочные элементы с помощью CSS-свойств
Добрый день, в данной статье рассмотрим CSS-свойства, влияющие на ширину и высоту блочных элементов.
- height:
- width:
- margin:
- padding:
- border:
Перед и после блочного элемента, браузер автоматически ставит перенос строки, также по-умолчанию блочный элемент занимает всю ширину родительского элемента. В учебнике по HTML, вы можете посмотреть на теги, которые создают блочные элементы.
Допустим нам нужно создать блок div, который должен иметь ширину 200px, высоту 100px и фон зелёного цвета с синим оттенком:
div {
width: 200px;
height: 100px;
background: #084;
}
<div>Блочный элемент</div>
Добавим нашему элементу, границу border насыщенного-голубого цвета #08a и шириной в 15px:
div {
width: 200px;
height: 100px;
background: #084;
border: 15px soild #08a;
}
<div>Блочный элемент</div>
Ширина нашего элемента div станет 230px
Отсюда следует вывод, что CSS-свойство border, увеличивает уже имеющуюся высоту и ширину.
Рассмотрим другие CSS-свойства, которые делают тоже самое, это margin (внешний отступ) и padding (внутренний отступ).
Сначала приведем пример с CSS-свойством padding, сделаем его размеры 15px.
div {
width: 200px;
height: 100px;
background: #084;
border: 15px soild #08a;
padding: 15px;
}
<div>Блочный элемент</div>
Теперь ширина элемента стала 260px.
Добавляем CSS-свойство margin со значением 15px.
div {
width: 200px;
height: 100px;
background: #084;
border: 15px soild #08a;
padding: 15px;
margin: 15px;
}
<div>Блочный элемент</div>
Ширина блочного элемента станет 290px.
Данные нюансы, видоизменяя высоту и ширину, частенько мешают в вёрстке сайтов. Поэтому чтобы ширина и высота была стабильной, например всегда оставалась 200px в независимости от размеров CSS-свойств border, padding или margin, нужно нашему элементу присвоить CSS-свойство box-sizing, со значением border-box.
div {
width: 200px;
height: 100px;
background: #084;
border: 15px soild #08a;
padding: 15px;
margin: 15px;
box-sizing: border-box;
}
<div>Блочный элемент</div>
Как мы видим размеры свойств границ border и внутренних отступов padding, стали частью изначальной ширины 200px и высоты 50px блочного элемента.
А вот CSS-свойство margin не стало частью ширины и высоты нашего элемента, поэтому при задании размеров блочным элементам, учитывайте данный момент.
Наверное следующая тема по блокам интересная Это позиционирование и использование свойств присваиваемых блокам в css ;)!
неплохо было указать, что указывая margin и padding просто цифрой, оступы и границы задаются для всех сторон одинаково, для конкретного отступа/границы нужно прописывать друг за другом цифры:
margin: 10px 15px 10px 15px;
отступы будут 10 пикселей снизу и сверху, 15 — слева и справа
так же это можно записать:
margin-top:10px;
margin-left:15px;
margin-right:15px;
margin-bottom:10px;
что это что это (margin: 10px 15px 10px 15px;) абсолютно равнозначны, тоже самое касается padding, border
спасибо, для этого отдельную статью сделаю
Здорово, значит нужно будет освоить и эти особенности. Раньше они не так часто использовались, поэтому в своё время упустил их из виду.
да, это из CSS3, там много приколюх появилось и постоянно добавляются