Estoy tratando de construir un diseño similar al siguiente:
+---+---+---+
| | | |
+---+---+---+
| |
+-----------+
donde la parte inferior está llenando el espacio de la fila superior.
Si se tratara de una tabla real, podría lograrlo fácilmente <td colspan="3">
, pero como simplemente estoy creando un diseño similar a una tabla , no puedo usar <table>
etiquetas. ¿Es esto posible usando CSS?
colspan
atributoRespuestas:
No hay un análogo CSS simple y elegante para
colspan
.Las búsquedas sobre este mismo tema arrojarán una variedad de soluciones que incluyen un conjunto de alternativas, que incluyen posicionamiento absoluto, dimensionamiento, junto con una variedad similar de advertencias específicas del navegador y las circunstancias. Lea y tome la mejor decisión informada que pueda según lo que encuentre.
fuente
colspan
es la herramienta adecuada para el trabajo. Mi respuesta fue 75% correcta, y la suya es 100% correcta. Deberías volver a SO.Hasta donde yo sé, no hay colspan en css, pero habrá un
column-span
diseño de varias columnas en un futuro próximo, pero dado que es solo un borrador en CSS3, puede verificarlo aquí . De todos modos, puede hacer una solución usandodiv
yspan
con una pantalla similar a una tabla como esta.Este sería el HTML:
Y este sería el css:
La única razón para usar este truco es obtener el beneficio de
table-layout
comportamiento, lo uso mucho si solo establecer div y ancho de tramo en cierto porcentaje no cumplió con nuestros requisitos de diseño.Pero si no necesita beneficiarse del
table-layout
comportamiento, entonces la respuesta de durilai sería suficiente para usted.fuente
.span { ...
eso debería serspan { ...
.div
etiquetas para mostrar datos tabulares es tan malo como usartable
s para controlar el diseño de páginaOtra sugerencia es usar flexbox en lugar de tablas por completo. Esto es algo del "navegador moderno", por supuesto, pero vamos, es 2016;)
Al menos, esta podría ser una solución alternativa para aquellos que buscan una respuesta a esto hoy en día, ya que la publicación original era de 2010.
Aquí hay una gran guía: https://css-tricks.com/snippets/css/a-guide-to-flexbox/
fuente
fuente
Eso no es parte del alcance de CSS.
colspan
describe la estructura del contenido de la página o da algún significado a los datos de la tabla, que es el trabajo de HTML.fuente
Para proporcionar una respuesta actualizada: La mejor manera de hacer esto hoy es usar un diseño de cuadrícula CSS como este:
y el HTML
fuente
Podría intentar usar un sistema de cuadrícula como http://960.gs/
Su código sería algo como esto, suponiendo que esté utilizando un diseño de "12 columnas":
fuente
Intente agregar
display: table-cell; width: 1%;
a su elemento de celda de tabla.Mostrar fragmento de código
fuente
He tenido cierto éxito, aunque depende de algunas propiedades para funcionar:
table-layout: fixed
border-collapse: separate
y 'anchos' de celda que se dividen / abarcan fácilmente, es decir, 4 x celdas de 25% de ancho:
https://jsfiddle.net/sfjw26rb/2/
Además, aplicar display: table-header-group o table-footer-group es una forma práctica de saltar elementos de 'fila' a la parte superior / inferior de la 'tabla'.
fuente
si usa div y span ocupará más tamaño de código cuando la fila de la tabla de cuadrícula de datos tenga más volumen. El siguiente código está marcado en todos los navegadores
HTML:
CSS:
fuente
http://www.quackit.com/css/css3/properties/css_column-span.cfm
fuente
table-cell
extensión de varias columnas de la tabla.column-span
es para controlar un diseño de columna. Lo que le permite pasar el texto por varias columnas, como lo hacen los periódicos.Si vienes aquí porque tienes que activar o desactivar el
colspan
atributo (por ejemplo, para un diseño móvil):Duplique los
<td>
s y solo muestre los que tengan el deseadocolspan
:fuente
Las propiedades CSS "column-count", "column-gap" y "column-span" pueden hacer esto de una manera que mantenga todas las columnas de la pseudo-tabla dentro del mismo contenedor (HTML se mantiene agradable y ordenado).
Las únicas advertencias son que solo puede definir 1 columna o todas las columnas, y el intervalo de columnas aún no funciona en Firefox, por lo que es necesario un poco de CSS adicional para garantizar que se muestre correctamente. https://www.w3schools.com/css/css3_multiple_columns.asp
fuente
Vine aquí porque actualmente el bloque de tabla de WordPress no admite el parámetro colspan y pensé que lo reemplazaría usando CSS. Esta fue mi solución, suponiendo que las columnas son del mismo ancho:
fuente
Siempre podías
position:absolute;
cosas y especificar anchos. No es una forma muy fluida de hacerlo, pero funcionaría.fuente
He creado este violín:
http://jsfiddle.net/wo40ev18/3/
HTML
CSS
fuente
Las clases de Media Query se pueden usar para lograr algo aceptable con marcado duplicado. Aquí está mi enfoque con bootstrap:
colspan 1 para dispositivos móviles, colspan 5 para otros con CSS haciendo el trabajo.
fuente