⊗mkPmLtOCL 242 of 250 menu

Layout di siti web a colonna singola semplici in CSS

In questa lezione ci eserciteremo a creare layout di siti web a colonna singola semplici. Facciamo, ad esempio, un layout come questo:

Iniziamo l'implementazione. Ogni layout di solito inizia con un div generale chiamato wrapper, che contiene l'intero resto del sito:

<div id="wrapper"> </div>

Nel nostro caso il wrapper sarà centrato rispetto allo schermo:

#wrapper { width: 800px; margin: 50px auto; }

Avrà anche un bordo:

#wrapper { width: 800px; margin: 50px auto; border: 1px solid black; }

Ora creiamo la struttura principale della pagina. Consisterà in un menu e nel contenuto principale:

<div id="wrapper"> <div id="menu"> </div> <div id="content"> </div> </div>

Aggiungiamo il contenuto dei nostri blocchi:

<div id="wrapper"> <div id="menu"> <a href="#">link text 1</a> <a href="#" class="active">link text 2</a> <a href="#">link text 3</a> <a href="#">link text 4</a> <a href="#">link text 5</a> </div> <div id="content"> <h1>Proin tristique lorem</h1> <p> ... </p> <p> ... </p> </div> </div>

Ora possiamo aggiungere gli stili ai nostri blocchi. Aggiungiamo lo stile al menu:

#menu { display: flex; justify-content: center; margin-bottom: 20px; background-color: #484848; } #menu a { margin: 0 5px; padding: 15px 25px; text-decoration: none; color: #fff; font: bold 14px Arial; } #menu a:hover, #menu a.active { color: #484848; background-color: #fff; }

E ora aggiungiamo gli stili agli elementi del contenuto:

#content { padding: 0 30px 20px; } #content h1 { text-align: center; margin-top: 0; margin-bottom: 10px; } #content p { padding: 0 10px; margin-bottom: 5px; font: 18px/1.3 Arial; text-align: justify; }

Ora possiamo mettere insieme tutto il codice:

<div id="wrapper"> <div id="menu"> <a href="#">link text 1</a> <a href="#" class="active">link text 2</a> <a href="#">link text 3</a> <a href="#">link text 4</a> <a href="#">link text 5</a> </div> <div id="content"> <h1>Proin tristique lorem</h1> <p> ... </p> <p> ... </p> </div> </div> #wrapper { width: 800px; margin: 50px auto; border: 1px solid black; } #menu { display: flex; justify-content: center; margin-bottom: 20px; background-color: #484848; } #menu a { margin: 0 5px; padding: 15px 25px; text-decoration: none; color: #fff; font: bold 14px Arial; } #menu a:hover, #menu a.active { color: #484848; background-color: #fff; } #content { padding: 0 30px 20px; } #content h1 { text-align: center; margin-top: 0; margin-bottom: 10px; } #content p { padding: 0 10px; margin-bottom: 5px; font: 18px/1.3 Arial; text-align: justify; }

Suggerimento 1

È più conveniente dare i margini dall'alto verso il basso. Ad esempio, abbiamo un menu e un contenuto, e tra di loro - uno spazio vuoto. Ovviamente, questo spazio può essere creato dal margine inferiore del menu, dal margine superiore del contenuto, o dalla loro influenza simultanea. In questo caso è meglio impostare il margine inferiore al menu, e al contenuto rimuovere padding e margin di default per h1.

Suggerimento 2

Gli elementi figlio non dovrebbero formare margini tra gli elementi genitore. Ad esempio, abbiamo un menu. Il margine inferiore di questo menu può essere formato o dal margin del div con il menu, o dal margin dei link. È meglio scegliere la prima opzione, poiché i link non dovrebbero agire oltre la testa del genitore.

Suggerimento 3

Supponiamo che tra due elementi ci sia un margine e in questo caso visivamente non c'è differenza in cosa scegliere per il margine - margin o padding. In questo caso scegli margin, poiché è proprio lui che dovrebbe creare margini tra gli elementi.

Compiti pratici

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