widgets personalizar example div attribute css css-float

css - personalizar - Por qué claro: lo correcto no funciona como se esperaba



title div css (2)

Puedes tener un claro que funcione después del div si usas:

.clr:after { visibility: hidden; display: block; content: ""; clear: both; height: 0; }

Siempre estoy confundido por clear: left , clear: right y clear: both en CSS. Lo sé bien clear: both significan que no permite elementos flotantes en ambos lados de sí mismo.

Hice algunas pruebas here . Pensé que el diseño aparecería como abajo, porque B usa clear: both . Pero no lo hace. ¿Podría alguien decirme por qué?

UNA
segundo
discos compactos

Actualizado (Publicar el código)

<div class="container"> <div class="A">a</div> <div class="B">b</div> <div class="C">c</div> <div class="D">d</div> <div class="CB"></div> </div> .container{ width:100%; border:1px solid red; } .B{ float:left; clear:both; width:10%; height:30px; border:1px solid blue; } .A,.C,.D{ float:left; width:10%; height:30px; border:1px solid blue; } .CB{ clear:both; }


clear en un elemento solo borra los flotadores anteriores en el orden del documento. No despeja flotadores después de eso. Los valores left y right significan el espacio libre de los flotadores izquierdos y derechos que preceden a un elemento respectivamente. No significan limpiar flotadores antes y después del elemento.

Dado que C se está flotando, pero no se aplica ningún espacio libre, flota al lado de B. B no intenta borrar C porque C viene detrás de él en la estructura del documento.

Además, clear: right no tiene ningún efecto en su caso de prueba porque, de todos modos, ninguno de sus elementos está flotando a la derecha.