Que son las hojas de estilo (CSS) CSS y HTML Definición de estilos a nivel página Propiedades relacionadas a fuentes. Agrupación de varios elementos HTML con una misma regla de estilo Definición de varias reglas para un mismo elemento HTML Propiedades relacionadas al texto (color, text-align, text-decoration) Más propiedades relacionadas al texto (letter-spacing, word-spacing, text-indent, text-transform) Herencia de propiedades de estilo. Definición de un estilo en función del contexto. Definición de hojas de estilo en un archivo externo. Definición de estilos por medio de clases. Definición de estilos por medio de id. Propiedades relacionadas al borde de un elemento HTML (border-width, border-style, border-color) Más propiedades relacionadas al borde de un elemento HTML Propiedades relacionadas al padding de un elemento HTML Propiedades relacionadas al margen de un elemento HTML Propiedades relacionadas a listas Propiedades relacionadas al fondo (background) Propiedades relacionadas a fuentes Propiedades relacionadas al border Propiedades relacionadas al padding Propiedades relacionadas al margin Propiedades relacionadas al fondo (background) El selector universal * Pseudoclases Eliminacion subrayado de enlace Creación de un menú vertical Creación de un menú horizontal Propiedades relacionadas a la dimensión de un objeto en la página. Unidades de medida (px, rem, em, cm, mm etc.) Formas para indicar el color. Definir un cursor para un elemento HTML Aplicación de hojas de estilo a un formulario Definiendo reglas de estilo a una tabla. Posicionamiento relativo (position: relative) Posicionamiento absoluto (position: absolute) Posicionamiento absoluto y propiedad z-index Posicionamiento fijo (position: fixed) Disposición de 2 columnas (position: absolute) Propiedad float aplicada a una imagen Propiedades relacionadas a la dimensión de un objeto en la página Propiedad clear Disposición de 2 columnas (propiedad float) Disposición de 2 columnas, cabecera y pie Disposición de 3 columnas, cabecera y pie Diseño de ancho fijo Diseño de ancho líquido Selector de hijos Selector de hermano adyacente y hermano general Selector de atributo Pseudo-clases: first-child y last-child) Pseudo-clases: nth-child y nth-last-child Pseudo-clases: nth-of-type, nth-last-of-type, first-of-type y last-of-type Pseudo-clases: only-child y only-of-type Pseudo-clase: empty Pseudo-elementos: first-letter y first-line Pseudo-elementos: before y after CSS media queries Flexbox Flexbox - (flex-direction aplicada al contenedor) Flexbox - (justify-content aplicada al contenedor) Flexbox - (align-items aplicada al contenedor) Flexbox - (flex-wrap aplicada al contenedor) Flexbox - (align-content aplicada al contenedor) Flexbox - (flex-flow aplicada al contenedor) Flexbox - (flex-grow aplicada a los items) Flexbox - (flex-shrink aplicada a los items)o Flexbox - (flex-basis aplicada a los items) Flexbox - (flex aplicada a los items) Flexbox - (order aplicada a los items) Flexbox - (align-self aplicada a los items)

Propiedad clear

La propiedad CSS clear especifica si un elemento puede estar al lado de elementos flotantes que lo preceden o si debe ser movido (cleared) debajo de ellos. La propiedad clear aplica a ambos elementos flotantes y no flotantes. Cuando es aplicado a bloques no flotantes, mueve el border edge del elemento hacia abajo hasta que este debajo del margin edge de todos los floats relevantes. Este movimiento (cuando acontece) causa que margin collapsing no ocurra.

La propiedad clear se emplea combinándola con otros elementos que se hayan definido la propiedad float. La propiedad clear define que un elemento HTML no permita que flote en el caso que el elemento anterior se haya definido con dicha propiedad.

También se puede definir que no flote a izquierda o derecha únicamente.

Los valores posibles que podemos asignarle a la propiedad clear son:

both
left
right
none

Implementaremos un problema para mostrar los resultados empleando la propiedad float únicamente y el resultado que se logra empleando la propiedad clear luego.

Mostrar cuatro div flotando a izquierda de 250 píxeles. Hacer que los div de la izquierda tengan más texto que los de la derecha.

El archivo HTML queda:

<!DOCTYPE html>
<html>
<head>
<title>Problema</title>
<meta charset="UTF-8">
<link rel="StyleSheet" href="estilos.css" type="text/css">
</head>
<body>
<div id="caja1">
<p>caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1
caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1
caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1
caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1
caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1 caja1
</p>
</div>
<div id="caja2">
<p>
caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2
caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2
caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2
caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2
caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2 caja2
caja2 caja2 caja2 caja2 caja2 caja2 </p>
</div>
<div id="caja3">
<p>
caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3
caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3
caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3
caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3 caja3
</p>
</div>
<div id="caja4">
<p>
caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4
caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4
caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4
caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4
caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4 caja4
</p>
</div>
</body>
</html>

La hoja de estilo definida para esta página es:

#caja1 {
float:left;
width:250px;
background-color:#ffc;
margin:10px;
}
#caja2 {
float:left;
width:250px;
background-color:#ffc;
margin:10px;
}
#caja3 {
float:left;
width:250px;
background-color:#ffc;
margin:10px;
}

#caja4 {
float:left;
width:250px;
background-color:#ffc;
margin:10px;
}

Cuando ejecutamos esta página el resultado es:

propiedad float

Como vemos cuando el div debe disponerse más abajo busca el primer espacio libre de derecha a izquierda.

Supongamos que queremos mostrarlo lo más a la izquierda posible, es decir que comience una nueva fila en pantalla. Para ello cuando definimos el estilo para la caja4 aparece la propiedad clear:

#caja4 {
float:left;
clear:left;
width:250px;
background-color:#ffc;
margin:10px;
}

Con este cambio ahora el resultado en pantalla es el siguiente:

propiedades float y clear