«Hug» в CSS — это свойство, которое позволяет элементам «обнимать» друг друга или располагаться близко друг к другу.
Свойство hug
позволяет определить, как близко должны располагаться элементы друг к другу внутри контейнера, используя единицы измерения «flex» (fr
) или проценты (%
).
hug
определяется для каждой из осей X
и Y
. Значения по умолчанию равны 0
, что означает, что элементы будут отдалены друг от друга на свое минимальное расстояние.
Например, чтобы элеенты div
располагались близко друг к другу по оси X
, вы можете использовать hug
следующим образом:
.container {
display: flex;
justify-content: space-between;
align-items: center;
}
.container div {
flex: 1 1 auto;
margin-right: 10px;
margin-left: 10px;
width: 100px;
height: 50px;
background-color: #ccc;
}
.container div:first-child {
margin-left: 0;
}
.container div:last-child {
margin-right: 0;
}
.container div:not(:last-child) {
/* Близко расположить элементы по оси X */
margin-right: 5px;
width: auto; /* Позволить элементу изменять размер */
flex: 0 0 auto; /* Отменить "растягивание" элемента */
/* Задать значение hug по оси X */
margin-right: 0.4fr;
}
Здесь мы определяем контейнер .container
как flex
-контейнер с выравниванием элементов по центру и располагаем в этом контейнере элементы div
. Далее, мы задаем свойства для элементов div
, определяя их ширину, высоту и цвет фона.
Мы используем селектор :not(:last-child)
для задания свойств только первых двух элементов div
. Здесь мы устанавливаем свойство hug
по оси X
равное 0.4fr
, что «притягивает» элементы друг к другу и позволяет располагаться под близким углом друг к другу.
С помощью свойства hug
можно создавать различные эффекты на странице, например, объединять элементы в группы, управлять пространством между блоками и т.д.