:before
:after
Метод 1: Использование Свойства Border
border
HTML:
<div class="hexagon"></div>
CSS:
.hexagon {
width: 90px;
height: 50px;
background: #3e92cc;
position: relative;
}
.hexagon::before {
content: '';
position: absolute;
top: -25px;
border-left: 45px solid transparent;
border-right: 45px solid transparent;
border-bottom: 25px solid #3e92cc;
}
.hexagon::after {
content: '';
position: absolute;
bottom: -25px;
border-left: 45px solid transparent;
border-right: 45px solid transparent;
border-top: 25px solid #3e92cc;
}
Метод 2: Использование Свойства Transform
transform
CSS:
.hexagon {
width: 90px;
height: 50px;
background: #3e92cc;
position: relative;
}
.hexagon:before,
.hexagon:after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: #3e92cc;
top: 0;
left: 0;
}
.hexagon:before {
transform: rotate(60deg);
}
.hexagon:after {
transform: rotate(-60deg);
}
transform
Метод 3: Использование Переменных CSS и Функции Calc
calc
CSS:
:root {
--hex-side: 50px; /* длина стороны шестиугольника */
}
.hexagon {
width: calc(var(--hex-side) * 1.732);
height: var(--hex-side);
background: #3e92cc;
position: relative;
}
.hexagon:before,
.hexagon:after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: #3e92cc;
top: 0;
left: 0;
}
.hexagon:before {
transform: rotate(60deg);
}
.hexagon:after {
transform: rotate(-60deg);
}
Улучшения
--hex-rotate
CSS:
:root {
--hex-side: 50px;
--hex-rotate: 30deg; /* угол наклона шестиугольника */
}
.hexagon {
width: calc(var(--hex-side) * 1.732);
height: var(--hex-side);
background: #3e92cc;
position: relative;
transform: rotate(var(--hex-rotate));
}
.hexagon:before,
.hexagon:after {
content: '';
position: absolute;
width: 100%;
height: 100%;
background: #3e92cc;
top: 0;
left: 0;
}
.hexagon:before {
transform: rotate(60deg);
}
.hexagon:after {
transform: rotate(-60deg);
}
Теперь у нас есть полный набор инструментов для создания равностороннего шестиугольника с помощью CSS, от простых методов до более сложных, с использованием переменных и функций. Этот подход обеспечивает гибкость и точность в дизайне, позволяя легко настраивать и изменять форму.