⊗mkPmLtPrm 250 of 250 menu

Exercițiu pe layout-uri HTML și CSS

Să exersăm crearea de layout-uri, umplându-le cu conținut. Să facem, de exemplu, un astfel de layout:

Pentru început, să facem structura de bază a layout-ului:

<div class="wrapper"> <header> ... </header> <div class="container"> <aside class="left"> left </aside> <main> ... </main> <aside class="right"> right </aside> </div> <footer> site.com </footer> </div>

Acum să ne ocupăm de header. După cum se vede în exemplu, în header va fi numele site-ului și un meniu. În același timp, aceste blocuri sunt la aceeași distanță de marginea stângă. În acest caz, este logic să le combinăm cu un părinte comun, mutând aceste blocuri ca un singur întreg:

<div class="wrapper"> <header> <div class="block"> <div class="sitename"></div> <nav></nav> </div> </header> </div>

Să adăugăm conținutul blocurilor din header:

<div class="wrapper"> <header> <div class="block"> <div class="sitename">site.com</div> <nav> <a href="#">home</a> <a href="#" class="active">blog</a> <a href="#">photos</a> <a href="#">about us</a> <a href="#">contacts</a> </nav> </div> </header> </div>

Acum să scriem stilurile blocurilor din header. În același timp, nu vom seta înălțimea header-ului - lăsați-l să se extindă în funcție de conținut:

header { border: 1px solid black; } .block { margin: 20px 0 50px 220px; } .sitename { margin-bottom: 10px; font: 20px Arial; } nav { display: flex; width: 600px; border: 1px solid black; }

Să scriem codul care creează trei coloane în container. În același timp, nu vom seta înălțimea conținutului - lăsați-o să fie formată de conținutul său:

.container { display: flex; } main { width: 660px; padding: 20px; border: 1px solid black; } .left { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } .right { width: 200px; margin-left: 20px; padding: 20px; border: 1px solid black; }

Acum să scriem restul stilurilor layout-ului nostru și să obținem soluția sarcinii noastre:

<div class="wrapper"> <header> <div class="block"> <div class="sitename">site.com</div> <nav> <a href="#">home</a> <a href="#" class="active">blog</a> <a href="#">photos</a> <a href="#">about us</a> <a href="#">contacts</a> </nav> </div> </header> <div class="container"> <aside class="left"> left </aside> <main> <h1>Our blog</h1> <p> ... </p> <p> ... </p> <p> ... </p> <p> ... </p> <p> ... </p> </main> <aside class="right"> right </aside> </div> <footer> site.com </footer> </div> * { box-sizing: border-box; } .wrapper { width: 1100px; margin: 30px auto; border: 1px solid black; } header { border: 1px solid black; } .container { display: flex; } main { width: 660px; padding: 20px; border: 1px solid black; } .left { width: 200px; margin-right: 20px; padding: 20px; border: 1px solid black; } .right { width: 200px; margin-left: 20px; padding: 20px; border: 1px solid black; } footer { padding: 30px 0; border: 1px solid black; text-align: center; } .block { margin: 20px 0 50px 220px; } .sitename { margin-bottom: 10px; font: 20px Arial; } nav { display: flex; width: 600px; border: 1px solid black; } nav a { padding: 10px; color: blue; text-decoration: none; font: 15px Arial; } nav a:hover, nav a.active { color: red; text-decoration: underline; } main h1 { font: 20px "Times New Roman"; } main p { margin: 10px 0; text-align: justify; font: 15px Arial; }

Exerciții practice

Descărcați layout-ul la următorul link 1.zip. Deschideți-l în browser și recreați pagina după acest exemplu.

Descărcați layout-ul la următorul link 2.zip. Deschideți-l în browser și recreați pagina după acest exemplu.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge