Hacer que los elementos flex tomen el ancho del contenido, no el ancho del contenedor principal
Tengo un contenedor <div>
con display: flex
. Tiene un hijo <a>
.
¿Cómo puedo hacer que el niño aparezca "en línea"?
Específicamente, ¿cómo puedo determinar el ancho del hijo por su contenido, y no expandirlo al ancho del padre?
Lo que intenté:
Puse el niño en display: inline-flex
, pero aún así tomó todo el ancho. También probé todas las demás propiedades de visualización, pero nada tuvo efecto.
Ejemplo:
.container {
background: red;
height: 200px;
flex-direction: column;
padding: 10px;
display: flex;
}
a {
display: inline-flex;
padding: 10px 40px;
background: pink;
}
<div class="container">
<a href="#">Test</a>
</div>
1 answers
Utilice align-items: flex-start
en el envase, o align-self: flex-start
en los elementos flexibles.
No hay necesidad de display: inline-flex
.
Una configuración inicial de un contenedor flexible es align-items: stretch
. Esto significa que los elementos flex se expandirán para cubrir toda la longitud del contenedor a lo largo del eje transversal.
La propiedad align-self
hace lo mismo que align-items
, excepto que align-self
se aplica a elementos flex mientras que align-items
se aplica al contenedor flex.
Por defecto, align-self
hereda el valor de align-items
.
Dado que su contenedor es flex-direction: column
, el eje transversal es horizontal, y align-items: stretch
está expandiendo el ancho del elemento hijo tanto como puede.
Puede reemplazar el valor predeterminado con align-items: flex-start
en el contenedor (que es heredado por todos los elementos flex) o align-self: flex-start
en el elemento (que se limita al único elemento).
Obtenga más información sobre la alineación flexible a lo largo del eje transversal aquí:
Obtenga más información sobre la alineación flexible a lo largo del eje principal aquí:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-30 11:10:22