Единицы измерений в CSS
Единицы измерения в CSS применяются для задания размеров элементов, расстояний, шрифтов и других свойств. Они подразделяются на абсолютные и относительные типы.
Лекция про пять основных единиц измерений: px, em, rem, fr, %.
Пиксели 'px'
Пиксель может быть физическим и CSS-пикселем.
Физический пиксель — это отдельная ячейка на матрице устройства. Например, если ширина экрана устройства составляет 480px, это означает, что по всей ширине расположено 480 неделимых ячеек, где 1px равен одной такой ячейке.
CSS-пиксель — это единица измерения в CSS, равная 1/96 дюйма. Один CSS-пиксель не всегда соответствует одной физической ячейке на экране. Это зависит от плотности экрана: чем больше физических пикселей на экране, тем выше его плотность и тем более детализированным будет изображение.
.content__main {
width: 200px;
height: 100px;
background-color: FFA181;
font-size: 24px;
padding: 10px;
margin: 20px;
}
Размеры шрифта 'rem'
Единица измерения rem зависит от размера шрифта корневого элемента документа, обычно это тег. Значение 1rem соответствует размеру шрифта корневого элемента. Например, если в теге установлен шрифт размером 16px, то для всех вложенных элементов, где указано 'font-size: 1.5rem;', размер шрифта будет равен 24px.
.body {
font-size: 16px;
}
h1 {
font-size: 2rem; /* 2rem будет равно 32 пикселям (16px * 2) */
}
p {
font-size: 1.5rem; /* 1.5rem будет равно 24 пикселям (16px * 1.5) */
}
Размеры шрифта 'em'
Единица измерения em задает размер шрифта, равный размеру шрифта родительского элемента. Например, если у родительского элемента размер шрифта составляет '16px', то 'font-size: 1.5em;' установит размер шрифта дочернего элемента на '24px'.
h1 {
font-size: 2em;
color: #FF0000;
}
p {
font-size: 1.2em;
color: #000000;
line-height: 1.5em;
}
Проценты '%'
Проценты определяют размер относительно родительского элемента. Если родительский элемент равен 100%, то 'width: 50%;' установит ширину дочернего элемента на половину ширины родительского элемента.
.container {
width: 80%;
margin: 0 auto;
text-align: center;
}
.box {
width: 50%;
height: 200px;
background-color: blue;
margin: 20px auto;
}
Контейнер занимает 80% ширины родительского элемента, в то время как класс box занимает 50% ширины контейнера.
Доли 'fr'
Доля свободного пространства (fr) — это относительная единица измерения, используемая в CSS Grid для распределения доступного пространства между ячейками. Свободное пространство в родительском элементе делится на равные доли (fr), и дочерние элементы распределяют это пространство между собой.
Небольшой пример:
.container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
grid-gap: 10px;
}