/ / Flexbox div nie zajmuje całej szerokości - html, css, css3, flexbox

Flexbox div nie zajmuje całej szerokości - html, css, css3, flexbox

Próbuję zrozumieć, jak display:flex działa, ale kiedy go ustawiam, dziecko nie ma całej szerokości, spodziewałem się, że trzy divy uzyskają 33% szerokości ekranu. Co robię źle?

.flexbox {
display: flex;
}

.flexbox div {
border: 1px solid black;
padding: 10px;
}
<div class="flexbox">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>

Odpowiedzi:

3 dla odpowiedzi № 1

Musisz powiedzieć flex itemom, aby się rozwinąć. Domyślnie nie zajmują one wolnego miejsca.

Początkowe ustawienie flex-basis jest auto, co oznacza, że ​​przedmioty mają rozmiar ich treści.

Początkowe ustawienie flex-grow jest 0, co oznacza, że ​​przedmioty nie będą rosły w dostępnej przestrzeni.

Dodaj flex: 1 do Twoich produktów, co jest równoważne z: flex: 1 1 0, który jest skrótem dla:

  • flex-grow: 1
  • flex-shrink: 1
  • flex-basis: 0.

.flexbox {
display: flex;
}

.flexbox div {
flex: 1;  /* new */
border: 1px solid black;
padding: 10px;
}
<div class="flexbox">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>


1 dla odpowiedzi nr 2

Proszę bardzo:

<html>
<head>
<style>

.flexbox {
display: flex;
}
.flexbox div {
flex: 1;
border: 1px solid black;
padding: 10px;
}

</style>
</head>
<body>
<div class="flexbox">
<div>One</div>
<div>Two</div>
<div>Three</div>
</div>
</body>
</html>

W celu zwiększenia wzrostu elementów podrzędnych należy dodać jedną z właściwości elastycznych. Oto świetny artykuł o Flexbox: https://css-tricks.com/snippets/css/a-guide-to-flexbox/