Możesz dodać justify-content: space-between
do elementu nadrzędnego. Robiąc to, elementy podrzędnego flexboksa zostaną wyrównane do przeciwnych stron z odstępem między nimi.
Zaktualizowany przykład
#container {
width : 500px ;
border : solid 1px #000;
display : flex ;
justify - content : space - between ;
}
# container {
width : 500px ;
border : solid 1px #000 ;
display : flex ;
justify-content : space-between ;
}
# a {
width : 20% ;
border : solid 1px #000 ;
}
# b {
width : 20% ;
border : solid 1px #000 ;
height : 200px ;
}
<div id = "container" >
<div id = "a" >
a
</div>
<div id = "b" >
b
</div>
</div>
Możesz również dodać margin-left: auto
do drugiego elementu, aby wyrównać go do prawej.
Zaktualizowany przykład
#b {
width : 20 %;
border : solid 1px #000;
height : 200px ;
margin - left : auto ;
}
# container {
width : 500px ;
border : solid 1px #000 ;
display : flex ;
}
# a {
width : 20% ;
border : solid 1px #000 ;
margin-right : auto ;
}
# b {
width : 20% ;
border : solid 1px #000 ;
height : 200px ;
margin-left : auto ;
}
<div id = "container" >
<div id = "a" >
a
</div>
<div id = "b" >
b
</div>
</div>
margin-left: auto
tutaj?margin-left: auto
amargin-right: auto
sztuczka nie jest kompatybilna z IE11, dla tych, którzy nadal muszą ją obsługiwać.Wymyśliłem 4 metody, aby osiągnąć rezultaty. Oto demo
Metoda 1:
Metoda 2:
Metoda 3:
Metoda 4:
źródło
flex:1;
którym chcesz, aby była dodatkowa przestrzeń :)Inną opcją jest dodanie kolejnego tagu ze
flex: auto
stylem pomiędzy tagami, który chcesz wypełnić pozostałą przestrzeń.https://jsfiddle.net/tsey5qu4/
HTML:
CSS:
Odpowiada to flex: 1 1 auto, które pochłania dodatkową przestrzeń wzdłuż głównej osi.
źródło
Są różne sposoby, ale najprościej byłoby użyć spacji - patrz przykład na końcu
zobacz przykład
źródło