Podrías agregar justify-content: space-between
al elemento padre. Al hacerlo, los elementos de flexbox secundarios se alinearán en lados opuestos con espacio entre ellos.
Ejemplo actualizado
#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>
También puede agregar margin-left: auto
al segundo elemento para alinearlo a la derecha.
Ejemplo actualizado
#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
aquí?margin-left: auto
y elmargin-right: auto
truco no es compatible con IE11, para aquellos que aún tienen que admitirlo.Se me ocurrieron 4 métodos para lograr los resultados. Aquí está la demostración
Método 1:
Método 2:
Método 3:
Método 4:
fuente
flex:1;
donde desee que esté el espacio adicional :)Otra opción es agregar otra etiqueta con
flex: auto
estilo entre sus etiquetas que desea completar en el espacio restante.https://jsfiddle.net/tsey5qu4/
El HTML:
El CSS:
Esto es equivalente a flex: 1 1 auto, que absorbe cualquier espacio adicional a lo largo del eje principal.
fuente
Hay diferentes formas, pero la más simple sería usar el espacio entre ver el ejemplo al final.
mira el ejemplo
fuente