Нужно сверстать блок 1x4 с выводом фона первого и последнего блока за ширину контейнера
Ширина контейнера 1170px, каждый блок должен занимать 25%. Как вывести фон первого и последнего блока за ширину контейнера?
.users-box{
display: flex;
}
.block{
display: flex;
width: 25%;
align-items: center;
height: 150px;
}
div.users-box .block:nth-child(1){
background-color: #31D9FF;
}
div.users-box .block:nth-child(2){
background-color: #68B3FF;
}
div.users-box .block:nth-child(3){
background-color: #C289FF;
}
div.users-box .block:nth-child(4){
background-color: #FF81FF;
}
<section class="section-outer">
<div class="container users-box">
<div class="block">
<img src="img/house.png" alt="pic">
<p>12000+ Business</p>
</div>
<div class="block">
<img src="img/download-blue.png" alt="pic">
<p>60000+ Downloads</p>
</div>
<div class="block">
<img src="img/person.png" alt="pic">
<p>30000+ Installs</p>
</div>
<div class="block">
<img src="img/download-pink.png" alt="pic">
<p>40000+ Pro Users</p>
</div>
</div>
</section>
Ответы (1 шт):
Автор решения: humster_spb
→ Ссылка
UPD
Либо (так, наверное, даже правильнее) использовать псевдоэлементы блока-обёртки: задать им абсолютное позиционирование, разнести по краям и покрасить в цвета крайних блоков
* {
padding: 0;
margin: 0;
}
.section-outer {
position: relative;
}
.section-outer:before,
.section-outer:after {
content: '';
position: absolute;
top: 0;
bottom: 0;
width: 50%;
}
.section-outer:before {
left: 0;
background-color: #31D9FF;
}
.section-outer:after {
right: 0;
background-color: #FF81FF;
}
.users-box{
display: flex;
max-width: 1170px;
margin: 0 auto;
position: relative;
z-index: 1;
border: 1px solid red;
}
.block{
display: flex;
width: 25%;
align-items: center;
height: 150px;
}
div.users-box .block:nth-child(1){
background-color: #31D9FF;
}
div.users-box .block:nth-child(2){
background-color: #68B3FF;
}
div.users-box .block:nth-child(3){
background-color: #C289FF;
}
div.users-box .block:nth-child(4){
background-color: #FF81FF;
}
<section class="section-outer">
<div class="container users-box">
<div class="block">
<img src="img/house.png" alt="pic">
<p>12000+ Business</p>
</div>
<div class="block">
<img src="img/download-blue.png" alt="pic">
<p>60000+ Downloads</p>
</div>
<div class="block">
<img src="img/person.png" alt="pic">
<p>30000+ Installs</p>
</div>
<div class="block">
<img src="img/download-pink.png" alt="pic">
<p>40000+ Pro Users</p>
</div>
</div>
</section>
Как вариант, использовать псевдоэлементы для крайних блоков, покрашенные в их цвет:
* {
padding: 0;
margin: 0;
}
.section-outer {
overflow: hidden;
}
.users-box{
display: flex;
max-width: 1170px;
margin: 0 auto;
}
.block{
display: flex;
width: 25%;
align-items: center;
height: 150px;
}
div.users-box .block:nth-child(1){
background-color: #31D9FF;
position: relative;
}
div.users-box .block:nth-child(1):before,
div.users-box .block:nth-child(4):after {
content: '';
display: block;
position: absolute;
top: 0;
bottom: 0;
width: 300%;
}
div.users-box .block:nth-child(1):before {
left: -300%;
background-color: #31D9FF;
}
div.users-box .block:nth-child(2){
background-color: #68B3FF;
}
div.users-box .block:nth-child(3){
background-color: #C289FF;
}
div.users-box .block:nth-child(4){
background-color: #FF81FF;
position: relative;
}
div.users-box .block:nth-child(4):after {
right: -300%;
background-color: #FF81FF;
}
<section class="section-outer">
<div class="container users-box">
<div class="block">
<img src="img/house.png" alt="pic">
<p>12000+ Business</p>
</div>
<div class="block">
<img src="img/download-blue.png" alt="pic">
<p>60000+ Downloads</p>
</div>
<div class="block">
<img src="img/person.png" alt="pic">
<p>30000+ Installs</p>
</div>
<div class="block">
<img src="img/download-pink.png" alt="pic">
<p>40000+ Pro Users</p>
</div>
</div>
</section>
