Ho creato 4 blocchi div, il 5 è una prova per capire il comportamento. Li ho messi dentro un blocco container di nome div0 per poterli gestire.
Ho notato che se li metto tutti in float: left; lo sfondo di div0 sparisce, sembra quasi che si disabiliti la proprietà backgroud-color: orange. Poi se capita in altri contesti senza usare float non so... Vorrei capire perché fa così e come risolvere....
Per capirlo basta togliere div5 dal codice html...
Questa cosa non la fa nei seguenti casi:
Metto il div5 vuoto come da codice (da togliere se volete vedere gli effetti).
Metto una altezza a div0 e va solo se è in px, con altre unità di misura non funziona (% o auto), ho provato overflow ma non conta nulla.
Mi sembrava di averne trovata un'altra ma ora l'ho scordata
Metto il codice così si può provare e capire il problema:
HTML
Codice: Seleziona tutto
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="Prova.css" <<type="text/css">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div class="div0">
<div class="div1"><p>Prova Div1</p></div>
<div class="div2"><p>Prova Div2</p></div>
<div class="div3"><p>Prova Div3</p></div>
<div class="div4"><p>Prova Div4</p></div>
<div class="div5"></div>
</div>
</body>
</html>
CSS in un file separato chiamato Prova.css
Codice: Seleziona tutto
.div0 {width:95%; background-color: orange;}
.div1{background-color: red; width:20%; float: left;}
.div2{width:20%; float: left;}
.div3{background-color: yellow; width:20%; float: left;}
.div4{background-color: green; width:10%; float: left;}
.div5{clear: left;}
