malli
Ensimmäinen lohko
Toinen lohko
width: 300px ilman box-sizing-määritystä
width: 300px ja box-sizing: border-box
CSS
/* --- Laatikon osat --- */ .ulompi { background-color: #ffe9a8; margin: 0; padding: 0; border: 1px solid black; /* jos poistat tämän, marginaalit yhdistyvät */ } .sisempi { background-color: #2c2823; /* taustaväri ulottuu rajaan asti eli kattaa sisällön ja täytteen */ color: #ffffff; padding: 1em; border: 5px solid #b3261e; margin: 1em; /* marginaali on rajan ulkopuolella, ja siinä näkyy äitielementin taustaväri */ } span { /* tekstitason elementin taustaväri näkyy vain siellä, missä on sisältöä */ background-color: #ffe9a8; color: #23201c; } /* --- Yhdistyvät marginaalit --- */ /* Lohkojen väliin jää 2em eikä 2em + 1em, koska vain suurempi jää voimaan. */ .eka { margin-top: 2em; margin-bottom: 2em; border-bottom: 1px solid black; } /* Täysin tyhjä lohko ei kasvata väliä lainkaan. Kokeile poistaa alta kommenttimerkit, niin väli muuttuu. */ .valissa { /* border-top: 1px solid black; */ } .toka { border-top: 1px solid black; margin-top: 1em; margin-bottom: 1em; } /* --- box-sizing --- */ /* Ylempi laatikko on 342 px leveä: 300 + 2 x 20 täytettä + 2 x 1 reunaa. Alempi on tasan 300 px, koska border-box laskee täytteen ja reunan leveyteen mukaan. */ .laatikko { width: 300px; padding: 20px; border: 1px solid #1f5c46; margin-top: 1em; background-color: #e6f2eb; } .reuna { box-sizing: border-box; }
HTML
<div class="ulompi"> <div class="sisempi"><span>malli</span></div> </div> <div class="eka">Ensimmäinen lohko</div> <div class="valissa"></div> <div class="toka">Toinen lohko</div> <div class="laatikko sisalto">width: 300px ilman box-sizing-määritystä</div> <div class="laatikko reuna">width: 300px ja box-sizing: border-box</div>
Javascript
Konsoli