⊗mkPmLtTCS 245 of 250 menu

Schema di layout a due colonne per siti web in CSS

Creiamo un layout a due colonne del seguente tipo:

Per iniziare, creiamo la struttura principale della pagina:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="content"> content </div> <div id="sidebar"> sidebar </div> </div> <div id="footer"> footer </div> </div>

Ora applichiamo gli stili al wrapper, allineandolo al centro dello schermo:

#wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; }

Definiamo ora gli stili per l'header e il footer:

#header { height: 200px; border: 1px solid black; } #footer { height: 200px; border: 1px solid black; }

Come puoi vedere, impostiamo l'altezza per l'header e il footer perché nel nostro schema non hanno contenuto. Se ci fosse contenuto, non bisognerebbe impostare l'altezza dei blocchi - si formerebbe automaticamente in base al loro contenuto.

Nota anche che non impostiamo la loro larghezza. Il fatto è che header e footer sono elementi di blocco e la loro larghezza sarà automaticamente uguale a quella del wrapper.

Ora aggiungiamo del padding, in modo che il testo non aderisca ai bordi:

#header { height: 200px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }

Tuttavia, la presenza del padding influenzerà negativamente le dimensioni dei blocchi - diventeranno più grandi di quanto specificato. Cambiamo il comportamento di tutti i blocchi in modo che padding e bordi non espandano i nostri blocchi:

* { box-sizing: border-box; }

Ora dobbiamo mettere il contenuto e la sidebar su una sola riga. Facciamolo usando i flexbox:

#container { display: flex; }

Specifichiamo la larghezza per il contenuto e la sidebar. La somma delle loro larghezze deve essere uguale alla larghezza del wrapper:

#content { width: 800px; } #sidebar { width: 200px; }

Supponiamo di voler creare una spaziatura tra la sidebar e il contenuto. In questo caso, è necessario applicare un margin alla sidebar. Dovremo quindi sottrarre la larghezza per questo margin da qualcuno. Prendiamola dal contenuto, riducendo di conseguenza la sua larghezza:

#content { width: 780px; } #sidebar { width: 200px; margin-right: 20px; }

Ora aggiungiamo l'altezza, poiché i nostri elementi non contengono contenuto. È sufficiente aggiungere l'altezza solo a un elemento, poiché il secondo elemento flex si adatterà in altezza (perché?). Assegniamo l'altezza al contenuto:

#content { width: 780px; height: 700px; } #sidebar { width: 200px; margin-right: 20px; }

Aggiungiamo gli stili rimanenti al contenuto e alla sidebar:

#content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; }

Fatto, il nostro layout è pronto. Mettiamo insieme tutto il codice:

<div id="wrapper"> <div id="header"> header </div> <div id="container"> <div id="sidebar"> sidebar </div> <div id="content"> content </div> </div> <div id="footer"> footer </div> </div> * { box-sizing: border-box; } #wrapper { width: 1000px; margin: 30px auto; border: 1px solid black; } #header { height: 200px; padding: 20px; border: 1px solid black; } #container { display: flex; } #content { width: 780px; height: 700px; padding: 20px; border: 1px solid black; } #sidebar { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } #footer { height: 200px; padding: 20px; border: 1px solid black; }
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta