#css #flexbox
Вопрос:
Я пытаюсь понять flexbox. Моя цель — выровнять 3 элемента в каждой строке. Я должен использовать свойство flex-wrap : wrap;
, но моя проблема в том, что я выравниваю 4 элемента в своей первой строке.
.container{
width:100%;
display:flex;
justify-content:center;
align-items:center;
flex-wrap : wrap;
}
Заранее благодарю вас за ваш ответ.
html,body{
padding:0;
margin:0;
}
*{
box-sizing:border-box;
}
.container{
width:100%;
display:flex;
justify-content:center;
align-items:center;
flex-wrap : wrap;
}
/* disposition du cadre */
.box{
margin-top: 33px;
width: 21%;/*
height:100px;*/
border: 1px solid rgba(0, 0, 0, .07);
background:red;
text-align: center;
}
.container > .box {
margin-right: 20px;
}
.title {
color: #103D65;
font-size: 28px;
}
.description {
font-size: 16px;
padding-top: 10px;
padding-bottom: 35px;
}
.icone {
width: 100px;
height: 100px;
background: #F4B7DB;
border-radius: 50%;
margin: 10px auto;
}
<div class="container">
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
</div>
Ответ №1:
.контейнер{
width:90%;
margin-left:auto;
margin-right:auto;
display:flex;
justify-content:flex-start;
align-items:center;
flex-wrap : wrap;
}
.коробка{
margin-top: 33px;
width: 21%;/*
height:100px;*/
border: 1px solid rgba(0, 0, 0, .07);
background:red;
text-align: center;
flex-basis:30%;
}
Комментарии:
1. Чего вы ожидаете от этого?
Ответ №2:
Вы можете использовать flex-basis
свойство в .box
селекторе. Поскольку вам нужно 3 элемента в строке, вы можете сохранить базовое значение где-то на уровне 30-33%; учитывая заполнение и поля родительского контейнера.
.box {
flex-basis: 30%;
}
html,
body {
padding: 0;
margin: 0;
}
* {
box-sizing: border-box;
}
.container {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
/* disposition du cadre */
.box {
margin-top: 33px;
width: 21%;
/*
height:100px;*/
border: 1px solid rgba(0, 0, 0, .07);
background: red;
text-align: center;
/* occupy 30% of the total space */
flex-basis: 30%;
}
.container>.box {
margin-right: 20px;
}
.title {
color: #103D65;
font-size: 28px;
}
.description {
font-size: 16px;
padding-top: 10px;
padding-bottom: 35px;
}
.icone {
width: 100px;
height: 100px;
background: #F4B7DB;
border-radius: 50%;
margin: 10px auto;
}
<div class="container">
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
<div class="box">
<div class="icone">
</div>
<div class="title">
Heal emotions
</div>
<div class="description">
Lorem ipsum dolor sit amet elit. Phasellus nec pretium mi. Curabitur facilisis ornare velit non
</div>
</div>
</div>
Комментарии:
1. Ах, хорошо, большое вам спасибо за ваше объяснение.