El diseño de varias columnas de CSS permite una fácil definición de varias columnas de texto, como en los periódicos.

Propiedades de varias columnas de CSS

En este capítulo aprenderemos acerca de las siguientes propiedades de varias columnas:

  • column-count
  • column-gap
  • column-rule-style
  • column-rule-width
  • column-rule-color
  • column-rule
  • column-span
  • column-width

Crear múltiples columnas con CSS

La propiedad column-count especifica el número de columnas en las que se debe dividir un elemento. El siguiente ejemplo dividirá el texto en el elemento <div> en 3 columnas.

Ejm

<!DOCTYPE html>
<html lang="es">
<head>
<style>
.newspaper {
	column-count: 3;
}	
</style>
</head>
<body>
<h1>Crear 3 columnas</h1>
<div class="newspaper">
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.
</div>
</body>
</html>

CSS Especificar la brecha (gap) entre columnas

La propiedad column-gap especifica el espacio entre las columnas. El siguiente ejemplo especifica un espacio de 40 píxeles entre las columnas.

Ejm

<!DOCTYPE html>
<html>
<head>
<style>
.newspaper {
column-count: 3;
column-gap: 40px;
}
</style>
</head>
<body>

<h1>Specify the Gap Between Columns</h1>

<div class="newspaper">
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. 
</div>

</body>
</html>

Reglas de columna CSS

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

Ejm

<!DOCTYPE html>
<html>
<head>
<style>
.newspaper {
column-count: 3;
column-gap: 40px;
column-rule-style: solid;
}
</style>
</head>
<body>

<h1>Add a Rule Between the Columns</h1>

<div class="newspaper">
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. 
</div>

</body>
</html>

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

Ejm

<style> 
.newspaper {
column-count: 3;
column-gap: 40px;
column-rule-style: solid;
column-rule-width: 1px;
}
</style>

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

Ejm

<style>
.newspaper {
column-count: 3;
column-gap: 40px;
column-rule-style: solid;
column-rule-width: 1px;
column-rule-color: lightblue;
}
</style>

La propiedad column-rule es una propiedad abreviada para configurar todas las propiedades column-rule-* anteriores. El siguiente ejemplo establece el ancho, el estilo y el color de la regla entre columnas.

Ejm

<style>
.newspaper {
column-count: 3;
column-gap: 40px;
column-rule: 1px solid lightblue;
}
</style>

Especificar cuántas columnas debe abarcar un elemento

La propiedad column-span especifica cuántas columnas debe abarcar un elemento. El siguiente ejemplo especifica que el elemento <h2> debe abarcar todas las columnas.

Ejm

<!DOCTYPE html>
<html>
<head>
<style> 
.newspaper {
column-count: 3;
column-gap: 40px;
column-rule: 1px solid lightblue;
}

h2 {
column-span: all;
}
</style>
</head>
<body>

<div class="newspaper">
<h2>Lorem Ipsum Dolor Sit Amet</h2>
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 exercitation 
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.
</div>

</body>
</html>

Especificar el ancho de la columna

La propiedad column-width especifica un ancho óptimo sugerido para las columnas. El siguiente ejemplo especifica que el ancho óptimo sugerido para las columnas debe ser 100px.

Ejm

<!DOCTYPE html>
<html>
<head>
<style> 
.newspaper {
column-width: 100px;
}
</style>
</head>
<body>

<h1>Specify The Column Width</h1>

<div class="newspaper">
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 exercitation 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.
</div>

</body>
</html>

Resumen

Propiedad Descripción
column-count Specifies the number of columns an element should be divided into
column-fill Especifica cómo llenar columnas
column-gap Especifica el espacio entre las columnas.
column-rule Una propiedad abreviada para configurar todas las propiedades column-rule-*
column-rule-color Especifica el color de la regla entre columnas.
column-rule-style Especifica el estilo de la regla entre columnas.
column-rule-width Especifica el ancho de la regla entre columnas.
column-span Especifica cuántas columnas debe abarcar un elemento.
column-width Especifica un ancho óptimo sugerido para las columnas.
columns Una propiedad abreviada para establecer column-width y column-count