Вы можете упростить свой код, как показано ниже, переместив все элементы, которые создают фон, в основной контейнер и удалите много элементов div.Тогда вы можете легко настроить положение значков:
.header {
position: relative;
z-index: 0;
height: 150px;
background-image: linear-gradient(#ff9d2f, #ff6126);
border-bottom-left-radius: 60% 15%;
border-bottom-right-radius: 60% 15%;
padding-top: 10px;
overflow: hidden;
}
.header:before {
content: "";
position: absolute;
z-index:-1;
top: 0;
left: 0;
bottom: 0;
width: 150px; /*same value*/
background:
linear-gradient(205deg, transparent 32.5%, lightblue 33%),
/*adjust the degree to get the need direction*/
linear-gradient(120deg,#4e4376, #2b5876);
border-right: 3px solid #fff;
transform-origin: top;
transform: skewX(-45deg);
}
.iconHolder {
width:150px; /*same value*/
float:left;
height:100%;
text-align:center; /*make the first one in the middle horizontally*/
}
/*make the second one in the middle vertically*/
.iconHolder span:last-child {
position:absolute; /*it will be relative to the main container*/
top:50%;
transform:translateY(-50%);
left:10px;
}
.title {
padding-top:20px;
}
<div class="header">
<div class="iconHolder">
<span>?</span>
<span>?</span>
</div>
<h2 class="title">A title</h2>
<p class="subtitle">Some subtitle</p>
</div>
Если второй градиент не нужен, вы можете упростить еще больше, используя несколько фонов:
.header {
position: relative;
height: 150px;
background:
linear-gradient(to bottom left, #2b5876 49.8%,transparent 50%) -10px 0/ calc(75px + 10px) 50%,
linear-gradient(to bottom right, #2b5876 49.8%,transparent 50%) 75px 0/ 75px 50%,
linear-gradient(to bottom right, lightblue 49.8%,transparent 50%) left top/150px 100%,
/*we add more pixel to the size for the border effect*/
linear-gradient(to bottom right, #fff 49.8%,transparent 50%) left/156px calc(100% + 6px),
linear-gradient(#ff9d2f, #ff6126);
background-repeat:no-repeat;
border-bottom-left-radius: 60% 15%;
border-bottom-right-radius: 60% 15%;
padding-top: 10px;
overflow: hidden;
}
.iconHolder {
width:150px; /*same value*/
float:left;
height:100%;
text-align:center; /*make the first one in the middle horizontally*/
}
/*make the second one in the middle vertically*/
.iconHolder span:last-child {
position:absolute; /*it will be relative to the main container*/
top:50%;
transform:translateY(-50%);
left:10px;
}
.title {
padding-top:20px;
}
<div class="header">
<div class="iconHolder">
<span>?</span>
<span>?</span>
</div>
<h2 class="title">A title</h2>
<p class="subtitle">Some subtitle</p>
</div>