Я пытаюсь создать контейнер div div, в котором все divs будут иметь одинаковую ширину (два div на строку, 50% ширины контейнера каждый из них).Flex свойство override max-width
Я установил div внутри контейнера с max-width: 50%;
, потому что я хочу, чтобы они были равны, но, похоже, это не соответствует этому max-width
, когда в этой строке есть только один элемент.
HTML:
<div id="container">
<div id="left" class="block">Left</div>
<div id="center" class="block">
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
<div class="flexContainer">
<div class="flexDiv"></div>
</div>
</div>
<div id="right" class="block">Right</div>
</div>
CSS:
html, body{
width: 100%;
height: 100%;
}
#container{
display: flex;
height: 100%;
background-color: blue;
}
.block{
flex: 1;
}
#left{
background-color: green;
}
#center{
display: flex;
flex: 1;
flex-wrap: wrap;
align-content: flex-start;
}
#right{
background-color: orange;
}
.flexContainer{
flex: 1;
min-width: 100px;
max-width: 50%;
height: 150px;
background-color: red;
padding: 10px;
}
.flexDiv{
width: 100%;
height: 100%;
background-color: yellow;
}
JSFiddle, в котором вы можете увидеть, как ширина третьего элемента больше, чем другие.
Почему flex
divs внутри контейнера не соблюдаются max-width
property?
Заранее благодарен!
Вы имеете в виду как это? - https://jsfiddle.net/yz9cd8e7/ –
@Paulie_D Да, именно это. Если вы предоставите ему объяснение в ответе, я пометю его как принятый :) –
Нет проблем ... в основном это была проблема с «коробкой-калибровкой». @GCyrillus уже предоставил ответ. –