Аналогично моему предыдущему ответу , вам нужно добавить верхнюю часть и настроить несколько значений:
.header {
height:400px;
background:
/*Top part*/
linear-gradient(to bottom left,transparent 49%,orange 50.5%) top center/100px 100px,
linear-gradient(orange,orange) top left/calc(50% - 49px) 100px,
/*middle part */
linear-gradient(orange,orange) center/100% calc(100% - 200px),
/*Bottom part similary to the top*/
linear-gradient(to top right,transparent 49%,orange 50.5%) bottom center/100px 100px,
linear-gradient(orange,orange) bottom right/calc(50% - 49px) 100px;
background-repeat:no-repeat;
}
<div class="header">
</div>
Здесь используется два вида градиента. Один для создания треугольной формы:
.box {
height:200px;
background:
linear-gradient(to bottom left,transparent 49%,orange 50.5%)
top center/ /*place it at top center*/
100px 100px /*width:100px height:100px*/
no-repeat;
border:1px solid;
}
<div class="box"></div>
Хитрость заключается в использовании диагонального направления (например, to bottom left
), и вы сделаете 50% цвета и 50% прозрачным. Затем, сделав квадрат (100px 100px
), вы получите 45 градусов, которые хотите.
Другой градиент проще. Это простой прямоугольник, в котором нет необходимости определять направление или остановку цвета. Нам нужно только определить размер и положение:
.box {
height:200px;
background:
linear-gradient(orange,orange) /*define the color*/
center/ /*place it at the center*/
100% calc(100% - 50px) /*width:100% height:(100% - 50px)*/
no-repeat;
border:1px solid;
}
<div class="box"></div>
Тогда просто используйте столько градиентов, сколько хотите. У вас будет несколько фоновых слоев, и, определив один и тот же цвет, вы получите необходимую форму.