De la autor: bun venit pe blogul nostru despre construirea site-ului. Aceasta este o serie de articole dedicate noii specificații și astăzi aș dori să vă spun cum să faceți un meniu în html5 și cum diferă acest proces de același din versiunile anterioare ale limbii.
Care sunt diferențele
În primul rând, aș dori să spun că nici specificația nu este atât de nouă - și-a început formarea în 2009. De fapt, de atunci a existat o dezvoltare constantă - noi oportunități apar în html5, browserele moderne suportă din ce în ce mai mult aceste capacități, astfel încât în curând se va putea vorbi despre suport deplin pentru această tehnologie, deși nu este ceva de genul. un singur întreg, mai degrabă, este un set de caracteristici noi, fiecare dintre acestea fiind independentă.
Ei bine, care este diferența dintre crearea navigației principale (meniu), deoarece citiți un articol pe acest subiect, atunci cu siguranță ar trebui să existe unele diferențe. Ei bine, cum a fost creat meniul înainte? De obicei, au folosit o listă cu marcatori, care a fost plasată într-un container suplimentar pentru toată navigația - un div obișnuit.
Deci, odată cu apariția noilor etichete, acum puteți face mai corect - în loc de o etichetă div, înfășurați meniul în nav - un nou element semantic care a fost creat special pentru a colecta cele mai importante link-uri din el, grupați-le împreună.
În nav, puteți pune atât o listă, cât și doar un set de link-uri. Mi se pare că aceasta este o soluție și mai simplă și mai corectă, deși în multe șabloane puteți vedea în continuare implementarea meniului folosind etichetele ul, li, a.
Interesant este că containerul de navigare este conceput special pentru linkurile prioritare de pe pagină. De fapt, pe o pagină poate fi mai mulți astfel de concurenți, dar ar trebui să plasați în ei doar acele link-uri care formează cu adevărat navigația principală (de exemplu, meniul principal de sus și duplicatul acestuia în subsolul paginii).
Cum se face un meniu orizontal cu html5
Nici măcar nu aveți nevoie de nicio încadrare în listă, totul va fi afișat inițial pe o singură linie, deoarece linkurile sunt elemente inline.
Un alt lucru este că sunt foarte limitate în design datorită proprietăților lor inline. Puteți opera numai cu proprietăți precum: culoare, dimensiunea fontului, marginile. Dacă doriți să setați o anumită culoare de fundal, să faceți separatoare și să adăugați indentări interne (sau să determinați dimensiunea fiecărui element de meniu), atunci nu veți putea face acest lucru cu o linie.
Aici trebuie să ne convertim articolele în elemente de bloc. Pentru a face acest lucru, trebuie să scrie o proprietate:
afisare: bloc; |
Acum merg de sus în jos, adică navigarea noastră a devenit verticală. Pentru a-l face din nou orizontal, trebuie să adăugați anumite proprietăți. De exemplu, în loc de un tip de bloc, definiți un tip de bloc-inline pentru ele sau setați-le la (float: stânga). Citiți mai multe despre aceste metode.
Navigare pe verticală
De obicei, pentru a face un meniu vertical în html5, ei folosesc o listă, dar marcajul pe care ți l-am dat mai sus este în regulă pentru noi. După cum ați văzut, dacă convertiți link-uri în link-uri bloc, acestea se vor alinia automat unul după altul de sus în jos, deoarece două blocuri nu pot sta pe aceeași linie.
Acum le puteți aplica regulile de proiectare necesare. Există mult mai multe proprietăți pe blocuri decât pe elementul inline, așa că aveți mult mai multe opțiuni. De exemplu, am adăugat următoarele:
a (decor text: niciuna; culoare: #fff; umplutură: 5px; dimensiunea fontului: 22px; afișare: bloc; fundal: gradient liniar (în dreapta, rgba (96.108.136,1) 0%, rgba (63.76.107) , 1) 100%); lățime: 200 px; aliniere text: centru)
text - decor: nici unul; culoare: #fff; umplutură: 5px; font - dimensiune: 22px; afisare: bloc; fundal: liniar - gradient (la dreapta, rgba (96, 108, 136, 1) 0%, rgba (63, 76, 107, 1) 100%); latime: 200px; text - aliniere: centru |
În acest tutorial vom crea meniu CSS orizontal... Desigur, puteți folosi soluții gata făcute, de exemplu, angajați programatori pentru CMS Made Simple. Cu toate acestea, nu căutați căi ușoare, nu-i așa? : bătăuş:
Pasul 1 - marcaj HTML
În primul rând, trebuie să creăm elemente de listă cu o etichetă pentru fiecare articol din meniul nostru orizontal. Pentru a crea un submeniu, trebuie să adăugați o altă listă de copii în interiorul părintelui.
Pasul 2 - Crearea stilurilor CSS pentru meniul orizontal
Inițial, meniul arată vertical, pentru a remedia acest lucru vom scrie câteva stiluri, vom edita indentările, marginile, culoarea de fundal, rotunjim colțurile. Vom fixa lățimea și înălțimea. Să facem alinierea elementelor de meniu la stânga folosind float: left (astfel încât navigarea să aibă o structură orizontală).
Meniu, .menu ul, .menu li, .menu a (marja: 0; umplutură: 0; chenar: niciunul; contur: niciunul;) .meniu (înălțime: 40px; lățime: 505px; fundal: # 4c4e5a; fundal: - webkit-linear-gradient (sus, # 5c5e6a 0%, # 3c3d44 100%); fundal: -moz-linear-gradient (sus, # 5c5e6a 0%, # 3c3d44 100%); fundal: -o-linear-gradient ( sus, # 5c5e6a 0%, # 3c3d44 100%); fundal: -ms-linear-gradient (sus, # 5c5e6a 0%, # 3c3d44 100%); fundal: liniar-gradient (sus, # 5c5e6a 0%, # 3c3d44 100%); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;) .menu li (poziție: relativă; list-style: none; float: left; display: block ; înălțime: 40px;)
Să scriem următorul stil pentru un timp, ascunzând lista derulantă. Acest lucru va face mai ușor de editat.
Pasul 3 - Stilați meniul Link
În continuare, vom scrie stiluri care adaugă câteva proprietăți CSS de bază, cum ar fi tipul fontului, culorile, umplutura etc. Apoi adăugați o umbră pentru text și tranziții de culoare pentru a crea un efect neted în care culoarea nu se schimbă instantaneu, ci la un anumit interval. Pentru a crea un separator de legături, adăugați un chenar la stânga și la dreapta, apoi eliminați chenarul din stânga în prima legătură și chenarul din dreapta în ultimul link. Când treceți cu mouse-ul peste meniu, doar culoarea se va schimba.
Meniu li a (afișare: bloc; umplutură: 0 14px; margine: 6px 0; înălțime linie: 28px; text-decor: niciunul; chenar-stânga: 1px solid # 494942; chenar-dreapta: 1px solid # 4f5058; font- familie: Helvetica, Arial, sans-serif; greutate font: bold; dimensiune font: 13px; culoare: # f4f4f4; text-shadow: 1px 1px 1px rgba (0,0,0, .6); -webkit-transition : culoare .3s ease-in-out; -moz-transition: culoare .3s ease-in-out; -o-transition: culoare .3s ease-in-out; -ms-transition: culoare .3s ease-in- ieșire; tranziție: culoare .3s ease-in-out;) .meniu li: primul copil a (chenar-stânga: niciunul;) .meniu li: ultimul-copil a (chenar-dreapta: niciunul;) .meniu li: hover> a (culoare: # 9fde63;)
Pasul 4 - Meniu derulant
În primul rând, să eliminăm această linie de cod pe care am adăugat-o în al doilea pas.
Meniu ul (afișare: niciunul;)
Acum vom edita stilul pentru submeniu. Adăugați o poziție de 40px în partea de sus și 0px în stânga elementului de meniu și adăugați colțuri rotunjite în partea de jos. Setați transparența la zero și, la trecerea cu mouse-ul, schimbați-o la 1 pentru a crea un efect de fade in/out. Pentru efectul de diapozitiv sus/jos, trebuie să setăm înălțimea listei la 0px când meniul derulant este ascuns și la 36px când trecem cu mouse-ul peste meniul derulant.
Meniu ul (poziție: absolut; sus: 40px; stânga: 0; opacitate: 0; fundal: # 2f3035; -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border- raza: 0 0 4px 4px; -webkit-transition: opacitate .3s ease .1s; -moz-transition: opacitate .3s ease .1s; -o-tranziție: opacitate .3s ease .1s; -ms-transition: opacitate. 3s ease .1s; tranziție: opacitate .3s ease .1s;) .menu li: hover> ul (opacitate: 1;) .menu ul li (înălțime: 0; overflow: ascuns; padding: 0; -webkit-transition: înălțime .3s ease .1s; -moz-transition: înălțime .3s ease .1s; -o-transition: înălțime .3s ease .1s; -ms-transition: înălțime .3s ease .1s; tranziție: înălțime .3s ușurință. 1s;) .menu li: hover> ul li (înălțime: 36px; overflow: vizibil; padding: 0;)
Setați lățimea meniului drop-down pe care se poate face clic la 100 px. Am adăugat un chenar după fiecare link pentru a le separa. Să eliminăm chenarul din ultimul link.
Meniul ul li a (lățime: 100px; umplutură: 4px 0 4px 40px; margine: 0; chenar: niciunul; chenar-jos: 1px solid # 464649;) .menu ul li: ultimul copil a (chenar: niciunul;)
Pentru a completa meniul CSS orizontal, trebuie să adăugăm o pictogramă pentru fiecare submeniu derulant. Pentru a face acest lucru, vom crea o clasă personalizată pentru fiecare dintre submeniuri și vom adăuga o imagine de fundal.
Anunț de meniu (fundal: url (docs.png) fără repetare 6px center;) .menu am (background: url (bubble.png) no-repeat 6px center;) .menu as (background: url (arrow.png) nu -repetă 6px centru;)
Concluzie
Am creat cu succes un meniu derulant orizontal cu și fără stiluri CSS3, deși a fost și posibil. Dacă aveți întrebări, spuneți-mi în comentarii.
(Descărcări: 395)
Specificație
Descriere
Etichetă