Pentru a separa vizual elementele de meniu, puteți da fiecăruia dintre ele un chenar inferior sau superior. În funcție de cea pe care o folosiți, veți avea un chenar lipsă în partea de sus sau de jos a meniului. Acest lucru poate fi rezolvat prin adăugarea unui alt chenar la blocul .menu în sine:
Meniu a ( chenar-sus: 1px albastru continu; ) .meniu ( chenar-jos: 1px albastru continu; )
În prezent, linkurile meniului par prea scăzute și prea apropiate. Dacă textul fiecărui link nu ocupă mai mult de o linie, atunci puteți crește înălțimea acestora și puteți păstra textul centrat vertical folosind proprietățile înălțime și înălțime linie:
După cum puteți vedea în animație, proprietatea înălțime afectează înălțimea legăturii, iar distanța dintre linii și înălțimea linie modifică înălțimea liniei de text în sine. Asigurați-vă că setați aceleași valori pentru aceste două proprietăți dacă doriți ca textul linkului să fie centrat vertical.
Sarcina principală atunci când se creează navigarea orizontală este aranjarea elementelor de meniu pe un rând. Acest lucru se poate face în mai multe moduri.
Prima opțiune este să setați proprietatea de afișare a elementelor din listă cu valoarea inline sau inline-block:
După aceasta, puteți începe să creați linkuri. De exemplu, puteți face acest stil:
Meniul a ( text-decor: niciunul; font-family: sans-serif; culoare: #5757a0; display: inline-block; umplutură: 10px 20px; fundal-culoare: lavandă; chenar-bottom: 5px solid #5757a0; )
Am adăugat o culoare de fundal și un chenar de jos pentru fiecare link și am mărit dimensiunea acestuia folosind umplutură. Observați că există mici decalaje între elementele de meniu, deși nu le-am adăugat prin stiluri. Acestea apar deoarece browserul interpretează caracterul de întoarcere a carului între etichetele de închidere și de deschidere în acest fel.
:Meniu li (float: stânga; )
După cum puteți vedea, nu mai există decalaje între puncte. Toate celelalte stiluri funcționează ca înainte. Dar dacă adăugați un alt element HTML după navigare (să spunem
), atunci va fi afectat de împachetare și va fi aliniat cu elementele de meniu. Puteți anula această acțiune adăugând proprietatea clear: left la antet. Dar atunci când dezvoltați un site cu o mulțime de pagini diferite, poate deveni dificil să urmăriți dacă ați uitat să specificați această proprietate oriunde. Este mult mai ușor să anulați împachetarea pe partea de navigare. Această intrare vă va ajuta în acest sens: Meniu ( overflow: ascuns; )
Acest lucru va ajuta, de asemenea, la readucerea părintelui elementelor plutitoare la înălțimea lor normală. Am vorbit deja despre această problemă în lecțiile anterioare, dar apoi am rezolvat-o printr-un hack special folosind pseudo-elementul:after . Exemplul de mai sus este o altă modalitate de a rezolva problema cu înălțimea lipsă a containerului.
Nota: dacă setați un fundal pentru un element .menu, atunci nu îl veți vedea până când nu aplicați overflow: ascuns acestuia. Logic, pentru că cum poți vedea fundalul unui element a cărui înălțime este zero?
În lecția următoare vom vorbi mai detaliat despre capacitățile selectoarelor de atribute, cu care puteți seta
În munca sa, el a dedicat mult timp dezvoltării diverse tipuri navigare pentru site-uri, atât folosind, cât și folosind pur style 3, fără imagini suplimentare și javascript. Am decis să pun împreună toate dezvoltările pe această temă și să le postez ca un fel de colecție de lecții despre crearea navigației. Recenzia prezintă diferite tipuri , în stil și funcționalitate, multi-nivel cu submeniuri derulante, în stilul popular „acordeon”, vertical și orizontal cu efecte dinamice, simplu și complex ca structură. Pe baza acestor lecții, pe baza exemplelor date, experimentând și folosind puțină imaginație, poți face cu ușurință site-ul tău să iasă în evidență din mulțime, spectaculos și memorabil.
✓
Făcând clic pe titlu, veți fi dus direct la o pagină cu o descriere detaliată a întregului proces, iar făcând clic pe imagine, veți merge la o pagină cu un exemplu despre cum funcționează meniul pe care l-ați ales ツ
1.
Acest meniu uimitor a fost creat folosind stiluri și caracteristici CSS3 pure, fără fișiere imagine suplimentare sau javascript. Cu browserele moderne care acceptă noile standarde CSS3, a devenit posibilă utilizarea tuturor proprietăților magice ale magiei CSS3 în designul site-urilor web. Punând în practică această tehnică de creare a meniului, puteți obține rezultate uimitoare.
2.
În acest tutorial, veți învăța cum să utilizați stilurile și noile proprietăți CSS3, fără a utiliza javascript sau imagini, puteți crea un meniu grozav, funcțional și rapid în stil acordeon.
3.
Un tutorial detaliat despre crearea unui meniu frumos în stil acordeon folosind CSS și jQuery. Meniul a fost testat și funcționează excelent în toate browserele moderne. Utilizarea funcției de gradient liniar css3 în design face acest meniu mai expresiv și mai dinamic.
4.
Lecția prezintă întregul proces de creare a unui meniu vertical interesant pentru un site web, construit în întregime pe utilizarea CSS și a unui fișier imagine mic, pe care îl puteți edita cu ușurință pentru a se potrivi nevoilor dvs., dacă doriți.
5.
Ca o continuare a lecției anterioare, a adăugat descriere detaliată opțiunea de a crea un meniu vertical cu sub-articole imbricate
6.
O lecție mică, dar în același timp detaliată despre crearea unui cod de înaltă calitate, cu o cantitate mică de cod HTML, CSS și JavaScript, cu o interfață frumoasă, un bloc de navigare în stilul „Accordion”.
7.
O altă soluție interesantă în ceea ce privește crearea unui meniu de navigare pe mai multe niveluri folosind jQuery. Compatibilitatea între browsere a produsului final, animația JQuery și gradientul CSS3 fac blocul de navigare și mai atractiv.
8.
Îmi place soluția de a avea meniurile să se comporte ca niște drop-down-uri. Meșterii folosesc adesea JavaScript pentru a obține acest efect, dar acest tutorial arată cum să obții ceea ce vrei folosind doar stiluri și funcții CSS pure.
9.
În acest tutorial, veți învăța cum să creați un meniu frumos cu sub-articole derulante. Ceea ce atrage atenția este soluția non-standard de afișare a submeniului, nu ca de obicei, chiar sub elementele meniului principal, dar elementele submeniului sunt aliniate la stânga, cu afișaj direct sub bara de navigare.
10.
Traducere și versiune adaptată a lecției despre crearea unui meniu frumos, orizontal în stilul „Lava-Lamp” Există multe versiuni de meniuri realizate în acest stil pe Internet, pe baza cunoștințelor acumulate din lecție, pe care le puteți crea liber. ceva al tău.
Asta e tot deocamdată. Această colecție prezintă doar o mică parte din ceea ce se poate face în ceea ce privește crearea de meniuri de navigare frumoase și individuale și, cel mai important, funcționale pentru proiectele dvs. Sper că cineva va găsi o opțiune potrivită pentru ei înșiși și o va folosi în munca sa de îmbunătățire a site-ului. Dacă cuiva i-a plăcut articolul, comentează, distribuie prietenilor prin Twitter, Google+ și alte rețele sociale. servicii sau puteți doar să marcați articolul
Meniu orizontal este o listă de secțiuni de site, deci este mai logic să o marchezi în interiorul elementului
, apoi aplicați stiluri CSS elementelor sale. Acest aspect de meniu este cel mai comun datorită avantajelor evidente în poziționarea sa pe o pagină web.
Cum să faci un meniu orizontal: exemple de aspect și design
Marcaj HTML și stiluri de bază pentru un meniu orizontal
În mod implicit, toate elementele din listă sunt localizate vertical , ocupând întreaga lățime a elementului container, care la rândul său ocupă întreaga lățime a blocului său container.
Markup HTML pentru navigare orizontală
Un meniu orizontal situat în interiorul unei etichete poate fi plasat suplimentar în interiorul unui element ... și/sau . Datorită acestui lucru, marcajului html primește un sens semantic și oferă, de asemenea, o oportunitate suplimentară pentru formatarea blocului de meniu.
Există mai multe moduri de a le plasa orizontal . Mai întâi, trebuie să resetați stilurile implicite de browser pentru elementele de navigare:
Ul ( list-style: none; /*eliminați marcatorii listei*/ margin: 0; /*eliminați marginile de sus și de jos egale cu 1em*/ padding-left: 0; /*eliminați umplutura din stânga egală cu 40px*/ ) a ( decor text: niciunul; /*elimină sublinierea textului linkului*/)
Metoda 1. li (afișare: inline;)
Crearea elementelor listei cu minuscule. Ca urmare, acestea sunt situate orizontal, cu partea dreaptă se adaugă un interval de 0,4 em între ele (calculat în raport cu dimensiunea fontului). Pentru a o elimina, adăugați o marjă dreaptă negativă pentru li li (margin-dreapta: -4px;) . Apoi, stilăm linkurile după cum ne dorim.
Metoda 2. li (float: left;)
Faceți elementele listei plutitoare. Ca urmare, acestea sunt poziționate orizontal. Înălțimea blocului container ul devine egal cu zero . Pentru a rezolva această problemă, adăugăm (overflow: hidden;) la ul, extinzându-l și permițându-i astfel să conțină elemente plutitoare. Pentru linkuri, adăugați un (afișare: bloc;) și stilați-le după cum doriți.
Metoda 3. li (display: inline-block;)
Crearea elementelor listei inline-block. Sunt situate orizontal, se formează un gol pe partea dreaptă, ca în primul caz. Pentru linkuri, adăugați un (afișare: bloc;) și stilați-le după cum doriți.
Metoda 4. ul (afișare: flex;)
Transformarea listei ul într-un container flexibil folosind . Ca urmare, elementele listei sunt aranjate orizontal. Adăugăm un (afișare: bloc;) pentru link-uri și le stilăm după cum doriți.
1. Meniu adaptiv cu efect de subliniere atunci când treceți cu mouse-ul peste un link
Lucru
Despre
Blog
Contact
@import url("https://fonts.googleapis.com/css?family=Ubuntu+Condensed"); .menu-main ( list-style: none; margin: 40px 0 5px; padding: 25px 0 5px; text-align: center; background: white; ) .menu-main li (display: inline-block;).menu- main li:after (conținut: „|”; culoare: #606060; afișare: inline-block; vertical-align:top; ) .menu-main li:last-child:after (conținut: niciunul;) .menu-main a ( text-decor: niciunul; font-family: „Ubuntu Condensed”, sans-serif; spațiere între litere: 2px; poziție: relativă; padding-bottom: 20px; margine: 0 34px 0 30px; dimensiunea fontului: 17px; text-transform: majuscule; afisare: inline-block: culoare .2s; ) .menu-principal a:înainte, .meniu-principal a:după (conținut: ""; poziție: absolut; înălțime: 4px; sus: automat; dreapta: 50%; jos: -5px; stânga: 50%; fundal : #feb386; tranziție: .8s; .menu-main a:hover:before, .menu-main .before (stânga: 0; .menu-main .current:after). 0;) @media (max-width: 550px) ( .menu-main (padding-top: 0;).menu-main li (display: block; ) .menu-main li:after (conținut: niciunul;) . meniu-principal a ( padding: 25px 0 20px; marjă: 0 30px; ) )
@import url("https://fonts.googleapis.com/css?family=PT+Sans"); .top-meniu (poziție: relativ; fundal: #fff; box-shadow: inset 0 0 10px #ccc; ) .top-menu:before, .top-menu:after (conținut: ""; afișare: bloc; înălțime : 1px; chenar-partea de sus: 3px solidă #575350; margine-inferioară: 2px; 575350; box-shadow: 0 2px 7px #ccc; margin-top: 2px; poziție: relativă; .menu-main:before, .menu-main:după (conținut: "\25C8"; line-height: 1; poziție: absolut; top: 50%; transform: translateY(-50% ); ( text-decor: niciuna; afișare: inline-block; margine: 2px 5px; umplutură: 6px 15px; font-family: "PT Sans", sans-serif; font-size: 16px; culoare: #777777; chenar-bottom : 1px solid transparent tranziție: .3s liniar; ) .menu-main .current, .menu-principal a:hover ( chenar-rază: 3px; fundal: #f3ece1; culoare: #313131; text-shadow: 0 1px 0 #fff; chenar-culoare: #c6c6c6; ) @media (lățime maximă: 500px) ( .menu-principal li (afișare: bloc;) ) 3. Meniu adaptiv cu scoici
Lucru
Despre
Blog
Contact
@import url("https://fonts.googleapis.com/css?family=PT+Sans+Caption"); .menu-principal (list-style: niciunul; padding: 0 30px; margin: 0; font-size: 18px; text-align: center; poziție: relativ; fundal: alb; ) .menu-main:after (conținut: ""; înălțime: 20px: alb 0%, rgba(255,255,255,0) 0 -10px; repeat: repeat-x ) .menu-main li (afișare: inline-block;) .menu-main a ( text-decoration: none; display: inline-block; padding: 10px 30px; font-family: "PT Sans Legendă", sans-serif; tranziție: .3s liniar; -principal a:înainte, .menu-principal a:după (conținut: ""; poziție: absolut; sus: calc(50% - 3px); lățime: 6px; înălțime: 6px; margine-radius: 50%: opacitate: .5s ease-in-out (stânga: 5px;); (dreapta: 5px;) .menu-main a. curent:înainte, .menu-principal a.current:după, .menu-principal a:hover:înainte, .menu-principal a:hover:după (opacitate: 1; ) .menu-main a.current, .menu-main a:hover (culoare: #F58262;) @media(max-width:680px) ( .menu-main li (afișare: bloc;) ) 4. Meniu adaptiv pe panglică
@import url("https://fonts.googleapis.com/css?family=PT+Sans+Caption"); .meniu de sus ( margine: 0 60px; poziție: relativ; fundal: #5A394E; umbră casetă: inserție 1px 0 0 rgba(255,255,255,.1), inserție -1px 0 0 rgba(255,255,255,.1), inserție 150px 0 150px -150px rgba(255,255,255,.12), inset -150px 0 150px -150px rgba(255,255,255,.12) .top-menu:before, .top-menu:after z position: absolute: ";"; -index: 2; lățime: 100% înălțime: 3px; nici unul; margine: 0; meniu-principal: înainte, .menu: după (conținut: absolut; lățime: 0; 8px; 18px solid #5A394E: 18px Transform: z-index: -1; : 12px solid rgba(255, 255, 255, 0) .menu- main:after ( dreapta: -30px; margine-dreapta: 12px solid rgba(255, 255, 255, 0); ) .menu-principal li ( display: inline-block; margin-right: -4px; ) .menu-main a ( text-decoration: none; display: inline-block; padding: 15px 30px; font-family: "PT Sans Caption", sans-serif; culoare: alb; tranziție: .3s liniar; ) .menu-main a.current, .menu-main a:hover (fond: rgba(0,0,0,.2);) @media (max-width: 680px) ( .top-menu (marja: 0;) .menu-main li ( display: block; margin-right: 0; ) .menu-main:before, .menu-main:after (conținut: niciunul;) .menu-main a (afișare: bloc;) ) 5. Meniu receptiv cu un logo în mijloc
@import url("https://fonts.googleapis.com/css?family=Arimo"); .menu-sus (poziție: relativă; fundal: rgba(34,34,34,.2); ) .menu-principal (stil listă: niciunul; margine: 0; umplutură: 0; ) .menu-principal:după ( conținut: ""; afișare: tabel; clar: ambele; ) .left-element (float: stânga;) .right-element (float: right;).navbar-logo (poziție: absolut; stânga: 50%; sus : 50%; transform: translate(-50%,-50%); spațiere între litere: 2px; font-family: „Arimo”, culoare sans-serif: .3s liniar; main ( padding-top: 90px; text-align: center; ) .navbar-logo (poziție: absolut; stânga: 50% ; sus: 10px; transform: translateX(-50%) ) .menu-main li ( float: niciunul; afișare: bloc în linie; afisare: bloc;)) 6. Meniu responsive cu logo în stânga
@import url("https://fonts.googleapis.com/css?family=Arimo"); .top-meniu ( fundal: rgba(255,255,255,.5); box-shadow: 3px 0 7px rgba(0,0,0,.3); padding: 20px; ) .top-menu:after (conținut: "" ; afișare: tabel; clar: ambele; li (display: inline-block;).menu-main a ( text-decor: niciunul; display: block; position: relativ; line-height: 61px; padding-left: 20px; font-size: 18px; letter-spacing : 2px; font-family: "Arimo", culoare sans-serif: #F73E24; stânga: 50% transform(45deg) translateX(6,5px: .3s liniar (opacitate: 1;) 20px; ) .top-menu ( text-align: center; padding: 20px 0 0 0; ) .menu-main a (padding: 0 10px;) .menu-main a:before (transform: rotate(45deg) translateX( -6px);) ) @media (max-width: 600px) ( .menu-main li (display: block;) ) Orizontală
Bara de navigare
A avea o navigare ușor de utilizat este important pentru orice site web.
Cu CSS puteți transforma meniurile HTML plictisitoare în bare de navigare frumoase
Bara de navigare = lista de link-uri
Bara de navigare are nevoie de HTML standard ca bază.
În exemplele noastre vom construi o bară de navigare dintr-o listă HTML standard.
O bară de navigare este practic o listă de link-uri, deci folosind elemente
si firesc :
Exemplu
Editor de cod »
Acum să eliminăm marcatorii, marginile și umplutura din listă:
Exemplu de explicație:
list-style-type: niciunul; - Îndepărtează markerii. Bara de navigare nu are nevoie de marcatori pentru listă
Marja setată: 0; și umplutură: 0; pentru a elimina setările implicite ale browserului
Codul din exemplul de mai sus este cod standard, folosit atât pe bara de navigare verticală, cât și pe orizontală.
Bară de navigare verticală
Pentru a crea o bară de navigare verticală, trebuie să setați stilul elementului în listă, pe lângă codul de mai sus:
Exemplu de explicație:
afisare: bloc; - Afișarea link-urilor ca elemente de bloc constituie zona link-urilor pe care se poate face clic (nu doar text) și vă permite să specificați lățimea (și umplutura, marginile, înălțimea etc., orice doriți)
latime: 60px; - Elementele bloc ocupă toată lățimea disponibilă implicit. Vrem să setăm lățimea la 60 de pixeli
De asemenea, puteți seta lățimea