#hi {
display: grid;
grid-template-columns: auto auto;
}
#hi > div {
border: 1px solid red;
min-height: 300px;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
min-height: 300px;
}
img {
width: 100%;
height: auto;
}
<div id='hi'>
<div><img src='http://wvs.topleftpixel.com/photos/scotia_plaza_tall_stitched.jpg'></div>
<div>erhbv</div>
<div>erhbv</div>
<div></div>
</div>
NOTA: la imagen no funciona correctamente en la inserción: la URL de CODEPEN FUNCIONA: https://codepen.io/anon/pen/vVeWpL
Soy nuevo en las cuadrículas y las amo hasta ahora, pero estoy muy confundido acerca de este problema. Por alguna razón desconocida, la imagen estira la cuadrícula, a pesar de tener un ancho del 100%. Incluso si cambio el ancho al 10%, la cuadrícula todavía está estirada. También intenté asegurar que el padre sea 100% ancho solo agregando ancho 100%, pero esto también falla.
¿Alguien puede ayudar a hacer que el ancho de la cuadrícula sea 50/50 y explicar qué sucedió?
¿Alguien puede ayudar a hacer que el ancho de la cuadrícula sea 50/50 y explicar qué sucedió?
Para abordar la primera parte de su pregunta / solicitud; para dividir la cuadrícula en dos columnas de igual tamaño, simplemente podría especificar dimensiones discretas, por ejemplo, en lugar de:
grid-template-columns: auto auto;
En su lugar, podría utilizar:
grid-template-columns: 1fr 1fr;
#hi {
display: grid;
grid-template-columns: 1fr 1fr;
}
#hi>div {
border: 1px solid red;
min-height: 300px;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
min-height: 300px;
}
img {
width: 100%;
height: auto;
}
<div id='hi'>
<div><img src='http://wvs.topleftpixel.com/photos/scotia_plaza_tall_stitched.jpg'></div>
<div>erhbv</div>
<div>erhbv</div>
<div></div>
</div>
O haga uso de la repeat()
función para hacer lo mismo:
grid-template-columns: repeat(2, 1fr);
#hi {
display: grid;
grid-template-columns: repeat(2, 1fr);
}
#hi>div {
border: 1px solid red;
min-height: 300px;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
min-height: 300px;
}
img {
width: 100%;
height: auto;
}
<div id='hi'>
<div><img src='http://wvs.topleftpixel.com/photos/scotia_plaza_tall_stitched.jpg'></div>
<div>erhbv</div>
<div>erhbv</div>
<div></div>
</div>
Si bien he usado la fr
unidad en los ejemplos anteriores, por supuesto, se podrían usar otras dimensiones (como 50% 50%
/ repeat(2, 50%)
y así sucesivamente); 1fr
simplemente asigna una unidad fraccionaria, determinada por el número anterior, del espacio disponible.
Con respecto a la última parte de su pregunta, solo puedo ofrecer una observación sobre lo que sucedió, pero sin hacer referencia a las especificaciones, pero creo que el uso de la auto
palabra clave permitió que el contenido del grid-item
(el que <div>
contiene el <img>
) dicte el tamaño de ese elemento. Sin embargo, me temo que no sé por qué produjo el resultado final (sospecho que otros, sin embargo, ofrecerán una explicación mucho mejor).
Referencia:
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras