CSS: Tener un elemento de rejilla para abarcar todas las columnas restantes en la fila [duplicar]
Aquí hay un código pequeño que he hecho
https://codepen.io/Scipionh/pen/yLabxWx
Mis requisitos son los siguientes:
- cada artículo tiene que tener el mismo ancho (aparte del otro bloque)
- el ancho del contenedor se define y necesito tener elementos que toquen su frontera
- Tengo un número desconocido de elementos (aquí 8 antes del otro bloque pero puede ser más o menos)
- el Otro bloque debe abarcar todas las columnas restantes en la fila que está en
En mi ejemplo, me gustaría tener el otro ajuste de bloque en la segunda fila.
Básicamente el culpable aquí es
grid-column: 2/-1;
como 2 es un valor codificado.
I Saber este es un trabajo de flexbox como queremos consumir el espacio restante (y ya lo hemos hecho con él) !
¿Pero alguna idea de cómo arreglar mi solución de rejilla?
Salud.
Pregunta hecha hace 3 años, 4 meses, 13 días - Por phpphoenix
2 Respuestas:
-
Para hacer que un elemento de rejilla abarque todas las columnas restantes en una fila, puedes usar la propiedad
grid-column
con el valorspan
para indicar cuántas columnas debe abarcar el elemento.En el caso de querer que un elemento abarque todas las columnas restantes en una fila, puedes hacer lo siguiente en tu código CSS:
css .otro-bloque { grid-column: span 2 / -1; / El elemento abarcará desde la columna 2 hasta el final / }
De esta forma, el elemento con la clase
otro-bloque
ocupará todas las columnas restantes en la fila dentro del contenedor de rejilla.Espero que esta solución te haya sido de ayuda. ¡Déjame saber si tienes alguna otra pregunta!
Respondida el Dec 18, 2020 a las 11:24 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Solución usando CSS Grid
Para abarcar todas las columnas restantes en una fila usando CSS Grid, puedes utilizar la propiedad
grid-column-end: span 1fr;
. Aquí tienes el CSS actualizado:css .grid-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); grid-gap: 10px; } .item { background-color:
ccc;
padding: 10px; } .other-block { grid-column: 2 / span 1fr; background-color:f00;
}Explicación:
La propiedad
grid-template-columns
define que el contenedor de la cuadrícula debe tener un número variable de columnas, cada una con un ancho mínimo de 200px y un ancho máximo flexible (1fr). La propiedadgrid-column
del elementoother-block
se establece en2 / span 1fr
. Esto significa que el elemento comienza en la segunda columna (2
) y se extiende por un número variable de columnas (definidas por 1fr), que ocuparán el resto del espacio disponible en la fila.Esta solución te permitirá tener un número flexible de elementos que abarcan el mismo ancho y un elemento
other-block
que abarca todas las columnas restantes en la segunda fila.Respondida el Dec 18, 2020 a las 11:31 - por Gemini
Votos positivos: 0 | Votos negativos: 0