Usamos varias columnas. Especifique cuántas columnas debe abarcar el elemento

El diseño de varias columnas de CSS3 facilita la definición de varias columnas de texto, como en los periódicos:

Ping diario

lorem ipsum
dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.

Soporte del navegador

Los números de la tabla indican la primera versión del navegador que admite totalmente la propiedad.

Los números seguidos de -webkit- o -moz- indican la primera versión que funcionó con la consola.

Propiedad
recuento de columnas 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 -kit web-
11.1
espacio entre columnas 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 -kit web-
11.1
regla de columna 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 -kit web-
11.1
color-regla-columna 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 - kit web
11.1
estilo de regla de columna 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 - kit web
11.1
ancho de regla de columna 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 - kit web
11.1
ancho de columna 50.0
4.0 -kit web-
10.0 2.0 -moz- 9.0
3.1 -kit web-
37.0
15.0 - kit web
11.1

Propiedades de varias columnas CSS3

En este capítulo, aprenderá sobre las siguientes propiedades de varias columnas:

  • recuento de columnas
  • espacio entre columnas
  • estilo de regla de columna
  • ancho de regla de columna
  • color-regla-columna
  • regla de columna
  • tramo de columna
  • ancho de columna

CSS3 creando múltiples columnas

La propiedad column-count especifica el número de columnas en las que se debe dividir el elemento.

El siguiente ejemplo dividirá el texto en

elemento en 3 columnas:

CSS3 Especificar un espacio entre columnas

La propiedad column-gap especifica el espacio entre columnas.

El siguiente ejemplo define un espacio de 40 píxeles entre columnas:

Columna de reglas CSS3

La propiedad column-rule-style especifica el estilo de la regla entre columnas:

ejemplo

div(
-webkit-columna-estilo-regla: sólido; /* Chrome, Safari, Ópera */
-moz-column-regla-estilo: sólido; /* Firefox */
estilo de regla de columna: sólido;
}

Pruébalo tú mismo"

La propiedad column-rule-width especifica el ancho de la regla entre columnas:

La propiedad column-rule-color especifica el color de la regla entre columnas:

ejemplo

div(
-webkit-columna-regla-color: azul claro; /* Chrome, Safari, Ópera */
-moz-column-rule-color: azul claro; /* Firefox */
color-regla-columna: azul claro;
}

Pruébalo tú mismo"

propiedad de regla de columna es una propiedad abreviada para configurar todas las propiedades column-rule-* anteriores.

El siguiente ejemplo establece las reglas de ancho, estilo y color entre columnas:

ejemplo

div(
-webkit-column-rule: 1px azul claro sólido; /* Chrome, Safari, Ópera */
-moz-column-rule: 1px azul claro sólido; /* Firefox */
regla de columna: 1px azul claro sólido;
}

Pruébalo tú mismo"

Especifique cuántas columnas debe abarcar el elemento

La propiedad column-span especifica cuántas columnas debe abarcar el elemento.

El siguiente ejemplo indica que

El elemento debe abarcar todas las columnas:

Especificar el ancho de la columna

El siguiente ejemplo indica que el ancho óptimo sugerido para las columnas debe ser 100 px:

Propiedades de varias columnas CSS3

La siguiente tabla enumera todas las propiedades de una columna múltiple.

Esta propiedad es parte de la propiedad abreviada de columnas.

Vea todas las propiedades de varias columnas: recuento de columnas, ancho de columna, espacio entre columnas, regla de columna, intervalo de columnas, columnas.

Sintaxis

Selector (recuento de columnas: número | auto;)

Valores

Valor predeterminado: auto.

Ejemplos

Ejemplo

EN en este ejemplo el texto se dividirá 3 columnas(por supuesto, en los navegadores que admiten varias columnas, en otros será simplemente texto plano en una columna):

#elem ( -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; text-align: justificar; )

Resultado de ejecutar el código:

Ejemplo. Valor automático

En este ejemplo, el ancho de la columna ancho de columna se especifica en 150px y su número recuento de columnas tiene significado auto- el propio navegador seleccionará el número requerido de columnas y el espacio entre ellas:

#elem ( -webkit-column-count: auto; -moz-column-count: auto; column-count: auto; -webkit-column-width: 150px; -moz-column-width: 150px; column-width: 150px ; alineación de texto: justificar;

Resultado de ejecutar el código:

Ser entusiasta se convirtió en su posición social y, a veces, cuando ni siquiera quería, para no engañar las expectativas de las personas que la conocían, se convertía en entusiasta. La sonrisa contenida que aparecía constantemente en el rostro de Anna Pavlovna, aunque no correspondía con sus rasgos anticuados, expresaba, como niños mimados, la conciencia constante de su querido defecto, que no quiere, no puede y no considera necesario corregir. sí misma.

EN En medio de una conversación sobre acciones políticas, Anna Pavlovna se acaloró.- ¡Oh, no me hables de Austria! Quizás no entiendo nada, pero Austria nunca ha querido ni quiere la guerra. Ella nos está traicionando. Sólo Rusia debe ser la salvadora de Europa. Nuestro benefactor conoce su elevada vocación y será fiel a ella. Eso es algo en lo que creo. Nuestro buen y maravilloso soberano tiene el papel más grande en el mundo, y es tan virtuoso y bueno que Dios no lo dejará, y cumplirá su llamado de aplastar la hidra de la revolución, que ahora es aún más terrible en la persona. de este asesino y villano. Sólo nosotros debemos expiar la sangre de los justos... ¿En quién debemos confiar, os pregunto?... Inglaterra, con su espíritu comercial, no quiere ni puede comprender toda la altura del alma del emperador Alejandro. Ella se negó a limpiar Malta. Quiere ver, buscar el pensamiento subyacente de nuestras acciones. ¿Qué le dijeron a Novosiltsov?... Nada. No entendieron, no pueden comprender el desinterés de nuestro emperador, que no quiere nada para sí y lo quiere todo para el bien del mundo. ¿Y qué prometieron? Nada. ¡Y lo que prometieron no sucederá! Prusia ya ha declarado que Bonaparte es invencible y que toda Europa no puede hacer nada contra él... Y no creo ni una palabra ni de Hardenberg ni de Gaugwitz. Esta fama es neutralité prusiana, ce n`est qu`un piege. [Esta notoria neutralidad de Prusia es sólo una trampa. ] Creo en un solo Dios y en el alto destino de nuestro querido Emperador. ¡Él salvará a Europa!... - De repente se detuvo con una sonrisa burlona ante su ardor.

"Creo", dijo el príncipe sonriendo, "que si te hubieran enviado a ti en lugar de nuestro querido Winzengerode, habrías tomado por asalto el consentimiento del rey de Prusia". Eres tan elocuente. ¿Me darás un poco de té?

esta lección

  • recuento de columnas
  • ancho de columna

El primero establece el número exacto de columnas que se generarán y el último establece el ancho de cada columna. Todos los demás parámetros de columna estarán determinados por el ancho disponible.

Usamos marcado HTML:

El código CSS será así:

Div (recuento de columnas: 3)

o así:

Div (ancho de columna: 15em) /* También puedes usar px */

También está disponible una breve grabación:

Div (columnas: 3 20em)

EN nota corta Puede establecer el número de columnas y su ancho. Sin embargo, en la práctica, por regla general, sólo se requiere una cosa.

Definir columnas utilizando la propiedad column-count es más adecuado para plantillas fluidas, ya que el ancho de las columnas se adaptará a medida que cambie el ancho de la pantalla del navegador.

Contenedores de columnas

El uso de las propiedades de recuento de columnas o ancho de columnas hace que se cree un nuevo contenedor entre elemento externo y contenido. Se llama contenedor de columnas, aunque no se pueden cambiar sus propiedades.

Las columnas están alineadas en una fila. Todos los contenedores de columnas en una fila tendrán misma altura, aunque su contenido puede diferir significativamente.

Si hace que un elemento flote en un contenedor de columnas, se limitará al contenedor de columnas y no al contenedor exterior. También funcionará establecer el ancho del elemento de columna en%: el ancho se calculará a partir del ancho del contenedor de la columna, no del contenedor exterior.

Separadores de columnas y espaciado

Hay poco control sobre los parlantes. Podemos establecer el espacio entre columnas usando la propiedad column-gap. De forma predeterminada, la propiedad de espacio entre columnas está establecida en 1em.

Div (espacio entre columnas: 2em)

También puede configurar el separador vertical usando la propiedad de regla de columna:

Div (regla de columna: sólido delgado #ccc)

Un registro corto se puede representar por 3 propiedades que actúan de la misma forma que al definir los marcos de elementos:

  • ancho de regla de columna
  • estilo de regla de columna
  • color-regla-columna

El espaciado es igual en altura al contenedor de la columna y el separador se coloca en el centro del espaciado. El espaciado y el separador tienen la misma altura. Si una columna no tiene contenido, no se mostrará el separador entre ella y las columnas adyacentes.

Acolchado y tramo de columna

Probablemente no utilice la propiedad de relleno de columnas con mucha frecuencia para especificar cómo se deben completar las columnas. Esta es una forma de indicar a los navegadores cuánto contenido colocar en cada columna.

Puede usar auto (predeterminado) o balance, lo que obligará al navegador a intentar llenar las columnas de manera uniforme. En la práctica, no hay mucha diferencia entre los resultados del uso de estos valores.

El intervalo establecido utilizando la propiedad column-span es significativamente mayor configuración útil. permite elemento HTML extenderse sobre varias columnas. En la imagen de arriba, el encabezado usa exactamente esta propiedad.

H2 (intervalo de columnas: todos)

Solo hay dos valores posibles: todos (todos) o ninguno (nada). No podrás utilizar 2 de las 3 columnas.

Interrupción del orador

Hay tres propiedades similares que se pueden utilizar para interrumpir el contenido de una columna alrededor de un elemento.

  • Al elemento - descanso antes:
  • En elemento - allanamiento de morada: automático | siempre | evitar | izquierda | derecha | página | columna | evitar-página | columna a evitar
  • Después del elemento - descanso después: automático | evitar | evitar-página | columna a evitar

Definiciones de valores utilizados:

  • auto— Se deshabilita la generación o prohibición de saltos de página/columna.
  • siempre
  • evitar— Desactivar saltos de página/columna.
  • izquierda— Genere uno o dos saltos de página para que página siguiente formateado como la página de la izquierda.
  • bien- Genere uno o dos saltos de página para que la página siguiente tenga el formato de las páginas de la derecha.
  • página- Generar siempre un salto de página.
  • columna- Generar siempre un salto de columna.
  • evitar-página— Desactivar los saltos de página.
  • columna a evitar— Prohibir saltos de columna.

El objetivo de todas estas propiedades y valores es garantizar que cierto contenido comience en una nueva columna.

Si una imagen o palabra continua excede el ancho de la columna, se cortará en el medio del espacio donde se coloca el separador.

Es posible limitar las columnas para que el elemento tenga más columnas que espacio para la salida:

  • Limitar la altura de las columnas puede generar columnas adicionales en lugar de proporcionar suficiente espacio para la salida.
  • El límite de tamaño de página puede causar columnas adicionales se moverá a la página siguiente.
  • Especificar un salto de columna puede provocar que se dibuje una columna adicional fuera espacio disponible para salida o en la página siguiente.

Conclusión

Las propiedades CSS3 para crear una plantilla de varias columnas pueden convertirse gran herramienta. Pero su uso requiere una cuidadosa comprobación del soporte en diferentes navegadores.

Con su ayuda puedes cambiar apariencia un proyecto existente sin grandes cambios en la estructura.

Uno de los más las propiedades más útiles nueva especificación. Recuerda cuánto tienes que esforzarte para hacer un área de 3, 4 o 5 columnas del mismo ancho en un diseño de goma sin usar tablas. Así es, infierno infernal. Ahora puedes hacer esto con sólo unas pocas líneas de CSS. Es cierto que todavía hay una pequeña mosca en el ungüento, pero hablaremos de eso más adelante.

Entonces, ¿qué herramientas tenemos para crear un bloque de varias columnas?

Propiedad

Descripción

recuento de columnas numero de columnas recuento de columnas: 3;
espacio entre columnas distancia entre columnas espacio entre columnas: 2em;
ancho de columna ancho de columna ancho de columna: 200px;
regla de columna

línea divisoria entre columnas (el formato de registro es similar a la propiedad de borde)

regla de columna: 1px sólido #000;
ancho de regla de columna ancho de línea divisoria ancho de regla de columna: 5px;
estilo de regla de columna estilo de línea divisoria estilo de regla de columna: punteado;
color-regla-columna color de la línea divisoria color-regla-columna: #fff;

No olvides que para los navegadores Mozilla y webkit es necesario duplicar propiedades con prefijos. -webkit- Y -moz-.

Creo que está claro cómo trabajar con estas propiedades. Sin embargo, señalaré lo siguiente. De forma predeterminada, el recuento de columnas es automático. Esto significa que si especifica el ancho de columna, el número de columnas se calculará automáticamente.

Ahora unas palabras sobre por qué es necesario, dónde se puede aplicar y cuáles son las limitaciones.

En principio, el recuento de columnas nos remite a los periódicos o, más exactamente, a la imprenta. ¿Por qué se hizo? En primer lugar, es la facilidad de lectura, porque... El ojo humano percibe mejor las líneas de texto de una media de 10 palabras. Además, dividir el texto en columnas le permite organizar mejor el contenido y reducir la cantidad de espacio libre en la página.

Solicitud

¿Para qué se puede utilizar esta propiedad? Creo que uso optimo Se puede considerar lo siguiente: en sitios con un campo central grande, puede dividir el texto en columnas. La ventaja es que si no se separa, no pasará nada terrible.

Como segundo lugar a utilizar, sugeriría algún tipo de menú vertical masivo donde se necesiten bloques del mismo ancho. Pero si el recuento de columnas no funciona, habrá un problema.

Restricciones

    No puede establecer las propiedades de una columna individual, como el fondo y el ancho, por lo que la propiedad aún no se puede utilizar para el diseño del sitio web.

    Si establece la altura de la columna, si hay mucho texto, se agregarán columnas adicionales. para encajarlo. Pero afortunadamente se trata mediante desbordamiento: oculto.

    Si el bloque se divide en columnas y se especifica la regla de columna, entonces, en el caso de que el texto se coloque en una columna, los navegadores webkit línea divisoria se mostrará, pero los navegadores tipo Mozilla no.

    Hay dos propiedades más que se encuentran en la especificación, pero que no son compatibles con ningún navegador. Este es un salto de columna que se puede usar para especificar cuándo comenzar la siguiente columna ( .contenedor h3 (salto de columna antes: siempre;)). La segunda propiedad es column-span, que le permite mostrar un elemento en todas las columnas, por ejemplo, un título ( .contenedor h1 (columna-span:todos;)).

    Las propiedades que están disponibles no son compatibles con Donkey en absoluto, sin mencionar algunas otras variedades y versiones del navegador (parece haber problemas con Opera). Aunque hay un intento de escribir un complemento para Donkey, pero yo lo llamaría mejor escenario beta. Sin embargo, el autor no lo oculta ().

Eso es todo por hoy. Es una pena que la propiedad no sea compatible con todos y que no haya hacks. Aunque la mayor lástima es que la funcionalidad aún no está completamente disponible y este método aún no puede considerarse otro de la serie para crear diseños de varias columnas. Sólo nos queda esperar que el consorcio lo piense detenidamente.




Arriba