Cum se configurează smartphone-uri și PC-uri. Portal informativ

Cum se face un meniu orizontal. Centrarea meniurilor cu flexbox

Sarcina de a centra un meniu orizontal poate fi puțin complicată, mai ales pentru cei care nu folosesc CSS. Căutarea de soluții duce la foarte listă limitată metode, dintre care majoritatea se bazează pe trucuri CSS, JavaScript sau pe utilizarea unor reguli non-standard care nu sunt acceptate de toate browserele. ÎN această lecție ne vom uita la o metodă de centrare a unui meniu orizontal care utilizează doar standard reguli CSSși funcționează în toate browserele.

Exemplu de meniu centrat

Mai jos este un meniu orizontal centrat în această coloană, în care este activată a doua filă. Puteți încerca să redimensionați fereastra sau pagina browserului pentru a vă asigura că meniul rămâne întotdeauna centrat și funcțional.

Pe pagina demo puteți vedea mai multe opțiuni de design pentru un meniu centrat orizontal. Oricare dintre ele poate fi folosit în proiectele dvs.

Marcaj HTML

Toate meniurile exemplificate în această lecție folosesc structură simplă. Aceasta este o listă neordonată obișnuită de link-uri plasate într-un element div.

  • Primul marcaj
  • Al doilea marcaj
  • A treia filă
  • A patra filă

Meniu centrat Cod CSS

Mai jos este cod complet CSS-ul care este folosit pentru a centra meniul. O explicație a principiului de funcționare este dată mai târziu în lecție.

#centeredmenu ( float:left; width:100%; background:#fff; border-bottom:4px solid #000; overflow:hidden; position:relative; ) #centeredmenu ul ( clear:left; float:left; list-style :none; poziție:relativ:centru:0 ) 3px 10px; fundal:#ddd; a.active, #centeredmenu ul li a.active:hover (culoare:# fff; background:#000;

Cum funcționează metoda de centrare?

Acțiunea metodei se bazează pe poziționarea relativă a elementelor bloc plutitoare unul în celălalt. În primul rând, să vedem cum se modifică dimensiunea elementelor odată cu deplasarea.

Element div(blocul) fără deplasare este întins pe toată lățimea disponibilă.

Dar dacă mutăm div-ul spre stânga, acesta se va micșora automat pentru a se potrivi cu conținutul său. Compresia este punct-cheieîn implementare aceasta metoda centrarea meniului. Vă ajută să mutați meniul în poziția corectă.

Meniu standard aliniat la stânga

Să luăm un meniu standard aliniat la stânga și să-l refacem pas cu pas. Pentru claritate, articolele sunt colorate Culori diferite, așa că este imediat clar ce merge unde.

Vă rugăm să rețineți următoarele puncte:

  • Element meniu centrat div(dreptunghi albastru) este decalat spre stânga, dar are o lățime de 100%, deci rămâne întins pe întreaga pagină.
  • Element ul(dreptunghi roz) este în interiorul elementului meniu centrat divși se deplasează spre stânga. Aceasta înseamnă că va fi comprimat la lățimea conținutului său, adică la lățimea totală a tuturor marcajelor.
  • Toate elementele li (dreptunghiuri verzi) sunt în interiorul elementului ulși deplasați-vă la stânga. Astfel, ele sunt comprimate la dimensiunea legăturilor din ele și aliniate într-o linie orizontală.
  • În interiorul fiecărei legături (dreptunghiuri portocalii) este afișat textul marcajului: Marcaj 1, Marcaj 2 și așa mai departe.

Schimbarea poziției unei liste neordonate


Apoi compensăm elementul ul la dreapta cu 50% folosind pozitia:ruda; . Când un element este compensat procentual în aceste condiții, este important să ne amintim că lățimea totală a elementelor pe care le conține nu este lățimea sa. În cazul nostru, decalajul are loc la jumătatea ferestrei browserului (sau spațiul disponibil pentru afișare). Prin urmare, meniul nostru începe în mijlocul ferestrei și se extinde parțial dincolo de limitele acesteia. Și să trecem la pasul următor.

Schimbați poziția tuturor elementelor de meniu


Tot ce rămâne este să muți toate elementele li lăsat cu 50%. Aceasta reprezintă 50% din lățimea elementului nostru ul (containerul care conține meniul). Astfel, marcajele sunt mutate exact în centrul ferestrei.

Câteva note importante

Când utilizați această metodă de centrare, există câteva puncte importante de reținut:

  • Din moment ce elementul ul se extinde parțial dincolo de fereastră, acest lucru are ca rezultat afișarea barelor de defilare. Prin urmare, trebuie să utilizați regula overflow:hidden; pentru element meniu centrat div. Astfel, partea proeminentă a elementului div va fi tăiat.
  • Din moment ce elementul ul nu este aliniat la marcaje, nu puteți utiliza niciun stil vizual pentru acesta. Lăsați elementul ul fără culoare de fundalși fără cadru astfel încât să devină complet invizibil. Și stilurile pentru marcaje ar trebui folosite numai pentru elemente li.
  • Dacă trebuie să setați stiluri speciale pentru primul și ultimul marcaj, trebuie să adăugați o clasă pentru primul și ultimele elemente li, astfel încât să le puteți modela individual.

Concluzie

Soluția propusă este compatibilă cu toate browserele, nu folosește JavaScript și suportă redimensionabil text.

De la autor: Bună ziua tuturor. Din anumite motive, webmasterii asociază meniurile drop-down cu scripturi, dar pentru o lungă perioadă de timp o astfel de navigare se poate face absolut în siguranță pe css pur. Mai mult, un astfel de meniu nu va fi mai rău. Astăzi vă voi arăta cum să creați un meniu drop-down în css. Voi împărtăși, ca să zic așa, rețeta.

Planul lecției și aspectul meniului nostru

În general, să decidem mai întâi cum vom crea meniul în sine. În html5 într-un mod standard Se consideră a-l crea în containerul de navigare folosind o listă cu marcatori. Să facem tocmai asta. Vom elimina markerii mai târziu folosind css; nu avem nevoie de ele în meniu.

De fapt, o să scriu imediat marcaj html cu liste imbricate. Adică, lista noastră va fi pe două niveluri - va conține alte liste. Și anume, pentru fiecare articol există 1 listă, care va forma un meniu derulant.

Există punct important, și anume că este posibil să nu fie nevoie să creați fiecare element derulant, ci doar câteva. Nicio problemă, atunci în articolele fără meniuri derulante pur și simplu nu creăm liste imbricate.

De fapt, aici este, toate markupurile:

< nav id = "nav" >

< ul >

< li > < a href = "#" >Paragraful 1< / a >

< ul class = "second" >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< / ul >

< / li >

< li > < a href = "#" >Punctul 2< / a >

< ul class = "second" >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< / ul >

< / li >

< li > < a href = "#" >Punctul 3< / a >

< ul class = "second" >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< / ul >

< / li >

< li > < a href = "#" >Punctul 4< / a >

< ul class = "second" >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< li > < a href = "#" >Sub-clauza< / a > < / li >

< / ul >

< / li >

< / ul >

< / nav >

Înțeleg că este uriaș. Aceasta este problema cu listele imbricate, că trebuie să scrieți mult cod. Dar țineți cont de faptul că facem 4 puncte principale și pentru fiecare va exista un meniu derulant.

De fapt, am dat întregii navigații un identificator de nav, iar toate listele imbricate o clasă de stil de secundă pentru a înțelege că sunt imbricate.

Grozav, avem marcajul gata, vă puteți uita la rezultat:

Da, arată groaznic. Dar acum vom include în munca css iar în doar câteva minute navigația noastră se va transforma. Hai sa muncim.

Scrierea stilurilor CSS

Primul lucru pe care îl voi face este să resetați toate umpluturile la implicite pentru toate elementele. Ne vor sta doar în cale; este mai bine să stabilim noi înșine liniuțele mai târziu, acolo unde este nevoie.

*( marja: 0; umplutură: 0; )

marja: 0;

umplutură: 0;

#nav( înălțime: 70px; ) #nav ul( list-style: none; )

#nav(

înălțime: 70px;

#navul(

lista - stil : niciuna ;

Acum trebuie să decidem care va fi meniul nostru. Orizontal sau vertical? Vă sugerez să faceți mai întâi unul orizontal și să vedeți totul în exemplul său. Pentru a face acest lucru, trebuie să scrieți următoarele stiluri:

#nav > ul > li( float: stânga; lățime: 180px; poziție: relativă; )

#nav > ul > li(

plutește la stânga;

latime: 180px;

poziție: relativă;

Rețineți că folosind semnul > ne referim la elementele din listă care sunt imbricate direct în ul, care sunt imbricate direct în nav. Acest lucru este foarte important deoarece împiedică aplicarea stilului la elementele din listă imbricate. Cert este că, după ideea mea, articolele din lista principală vor fi amplasate orizontal, iar în cele imbricate – vertical.

Dar tu, desigur, o poți face altfel, în conformitate cu ideea ta. Vă puteți asigura că toate punctele sunt pe o singură linie.

Oricum, codul de mai sus sper sa intelegi. Forțează ca elementele principale ale listei să fie împinse spre stânga, astfel încât să apară toate pe aceeași linie, chiar dacă sunt elemente de bloc. Le-am dat și o lățime explicită și poziționare relativă.

De ce pozitionare? Este necesar pentru a poziționa apoi absolut listele imbricate. Dacă ați studiat poziționarea în CSS, atunci probabil știți că dacă dați o poziționare relativă a unui bloc, atunci toate elementele din acesta pot fi poziționate absolut în interiorul acestui bloc anume, și nu întreaga fereastră a browserului.

Între timp, iată ce avem până acum:

Din această captură de ecran vă puteți imagina deja rezultatul aproximativ. Desigur, încă trebuie să proiectăm frumos articolele, astfel încât ochii să nu cerească milă atunci când vizualizează navigația.

#nav li a( afișaj: bloc; fundal: #90DA93; chenar: 1px solid #060A13; culoare: #060A13; umplutură: 8px; text-align: center; text-decoration: niciunul; ) #nav li a:hover( fundal: #2F718E)

#navli a(

afisare: bloc;

fundal: #90DA93;

chenar: 1px solid #060A13;

culoare: #060A13;

umplutură: 8px;

text - align : centru ;

text - decor : nici unul ;

#nav li a:hover(

fundal: #2F718E;

În primul rând, linkurile în sine trebuie să fie blocate. Acest lucru este necesar pentru ca acesta să funcționeze căptușealăși toate proprietățile au fost aplicate corect. Apoi, specific culorile fundalului, textul, parametrii cadrului, umplutura internă și alinierea textului la centru. În cele din urmă, anulez sublinierea linkurilor.

Toți acești parametri nu trebuie să fie specificați așa cum am făcut-o eu. Puteți alege culorile în mod arbitrar, faceți un cadru diferit sau nu îl folosiți deloc, indentările pot fi reduse sau mărite.

Vă rugăm să rețineți că în în acest caz, Nu am folosit semnul >, așa că regulile specificate se vor aplica tuturor legăturilor, inclusiv celor situate în paragrafe imbricate. Deci acum avem următoarele:

Grozav, dar înțelegi că sub-articolele nu ar trebui să fie vizibile, ar trebui să se deschidă când treci cu mouse-ul peste elementul dorit. Fără aceasta, meniul nostru arată ca o masă. Ei bine, este timpul să ascundeți elementele imbricate.

#nav li .second (afișare: niciunul; poziție: absolut; sus: 100%; )

#nav li .second(

afișaj: niciunul;

poziție: absolută;

sus: 100%;

În primul rând, ascundem liste complet imbricate. În al doilea rând, le oferim poziționare absolută și coordonată de vârf: 100%. Aceasta înseamnă că meniul drop-down va apărea clar sub elementul principal căruia îi aparține, clar la 100% din înălțimea articolului respectiv.

Acum vedem doar meniul principal pe pagina web, care este ceea ce avem nevoie.

Să implementăm abandonul

Tot ce ne rămâne de făcut este cel mai important lucru - să realizăm căderea în sine. Nu este nimic complicat, uită-te la acest cod:

#nav li:hover .second( display: block; )

#nav li:hover .second(

afisare: bloc;

Acest cod va funcționa impecabil. Când treceți cu mouse-ul peste un element din meniul principal, sublista va deveni vizibilă. Mai mult decât atât, doar lista care este imbricată în elementul peste care trece cursorul.

Există o singură problemă minoră - lățimea elementelor imbricate nu se potrivește cu lățimea celor principale. Dar acest lucru poate fi rezolvat foarte ușor prin adăugarea stilurilor adecvate:

#nav li li( lățime: 180px; )

#navlili(

latime: 180px;

Asta e, problema rezolvata:

Totul funcționează perfect. Când treceți cu mouse-ul peste elementul principal, apare un meniu derulant corespunzător acestuia. Dacă mutați cursorul în lateral, acesta dispare. Dacă mutați cursorul la elementele imbricate, puteți face clic pe ele și accesați secțiunea necesară site-ul. Astfel, am creat pentru tine un meniu derulant foarte simplu și ușor, fără absolut niciun script.

Transformarea meniului în verticală

Ei bine, bine, ne-am dat seama complet de navigare orizontală, dar pe lângă aceasta, navigarea verticală este foarte comună pe site-uri și poate fi și una derulantă. De fapt, schimbarea meniului de la orizontal la vertical este foarte ușoară, trebuie doar să schimbăm doar câteva rânduri de cod.

Mai întâi, va trebui să eliminați float:left din elementele principale ale listei. Această proprietate este cea care asigură că articolele noastre sunt afișate într-o singură linie, dar de ce avem nevoie de aceasta dacă navigarea trebuie să fie verticală?

Acum nu mai rămâne decât să schimbați regulile pentru selectorul #nav li .second, adică pentru listele imbricate, și anume, acestea trebuie poziționate puțin diferit. Ca aceasta:

#nav li .second (afișare: niciunul; poziție: absolut; stânga: 100%; sus: 0; )

#nav li .second(

afișaj: niciunul;

poziție: absolută;

stânga: 100%;

sus: 0;

Adică, este necesar să se înregistreze două coordonate în loc de una. În primul rând, în cazul navigării orizontale, am spus că, așa cum era planificat, articolele din submeniu ar trebui să fie afișate sub elementele principale. În cazul unui meniu vertical, acesta nu este potrivit - elementele ar trebui să fie afișate în lateral.

Prin urmare, schimbăm de sus: 100% la stânga: 100%. În plus, avem nevoie și de coordonatele de sus. Îl setăm la 0, astfel încât submeniul să fie la același nivel cu elementul căruia îi corespunde.

Gata, acum totul funcționează așa cum trebuie. Îl poți testa. După cum puteți vedea, nu am mințit când am spus că va trebui doar să rescriu câteva rânduri de cod.

Meniu orizontal cu mai multe niveluri

Folosind aproape aceeași abordare, puteți crea mai multe niveluri de meniu dacă este necesar. De exemplu, haideți să creăm o listă pentru al patrulea element din meniul principal, care va fi imbricat într-unul dintre subarticole.

Specificație

Descriere

Etichetă

conceput pentru a afișa o listă de elemente de meniu. Similar cu etichetele
    Și
      în interiorul recipientului lista se formează folosind etichete
    • .

      Etichetă HTML4

      a ieșit din uz, se recomandă utilizarea etichetei
        . Etichetă HTML5 pornit din nou, dar într-o altă capacitate. Acum acționează ca un container pentru etichetă și crearea meniului.

        Sintaxă

        HTML
      • articol din meniu
      • articol din meniu
      • HTML5 ...

        Atribute

        Setează eticheta vizibilă pentru meniu. Setează tipul de meniu.

        Etichetă de închidere

        Necesar.

        Validare

        Utilizarea acestei etichete este condamnată de specificația HTML4. Codul valid este obținut numai atunci când se utilizează o tranziție. Utilizarea unei etichete în HTML5

        corect.

        HTML 4.01 IE Cr Op Sa Fx

        Eticheta MENU

        În această problemă:

      • bucatarie ruseasca. Supă Burlatskaya
      • Mâncare ucraineană. Vareniki
      • Bucătăria moldovenească. Boia de ardei
      • Bucătărie caucaziană. Supa kharcho
      • Bucătăria baltică. Vertinyai
      • Rezultatul acestui exemplu este prezentat în Fig. 1.

        Orez. 1. Vedere a unei liste create folosind o etichetă

        HTML5 IE Cr Op Sa Fx

        Eticheta MENU

      • O zi bună tuturor celor care citesc acum această publicație. Astăzi vreau să vă povestesc despre unul dintre instrumentele de creare a site-urilor web de care nicio resursă web nu se poate lipsi. Acesta este meniul site-ului sau cum se spune și harta site-ului. Astăzi există un număr nelimitat de tipuri și subtipuri de meniuri.

        Dezvoltatorii de magazine online, bloguri, servicii educaționale și alte resurse experimentează și creează tot mai multe noi și cărți neobișnuite. După ce ați citit articolul, veți afla în ce grupuri principale sunt împărțite toate tipurile de panouri de navigare, veți putea încerca fiecare dintre ele și, de asemenea, veți afla cum să scrieți codul de meniu pentru un site web html. Acum să trecem la treabă!

        Instrumente pentru crearea unei bare de navigare

        Există mai multe moduri de a crea un meniu în limbaj de marcare. Conceptul lor de bază este utilizarea unei liste nenumerotate. Astfel, în html 4, care ne este familiar, dezvoltatorii scriu etichete pe pagină

          Și
        • .

          După cum se precizează în publicații anterioare, element pereche

            creează listă cu puncte, A
          • - un element al listei. Pentru claritate, haideți să scriem codul meniu simplu:

            Navigare

            Navigare pe site

            • Acasă
            • Știrile săptămânii
            • Progrese tehnologice
            • conversație

            Cu toate acestea, odată cu apariția platformei, limbajul de marcare a fost completat cu etichete suplimentare. De aceea, meniul site-urilor web moderne este creat folosind un special etichetă< meniu>. În uz, acest element nu este diferit de listele cu marcatori.

            În loc de unul < ul> este prescris < meniu>. Cu toate acestea, diferențe semnificative apar atunci când sunt judecate din partea muncii. Deci, al doilea exemplu accelerează munca programe de căutareși roboți în . Când analizează structura site-ului, ei înțeleg imediat că această bucată de cod este responsabilă pentru harta site-ului.

            Există meniuri orizontale, verticale și derulante. Uneori, bara de navigare este concepută ca o imagine. Deoarece segmentul de tehnologie s-a extins, serviciile web sunt adaptate, de exemplu. Structura paginii se adaptează automat la dimensiunea ecranului dispozitivului. Să ne uităm la grupurile de meniuri enumerate.

            Să creăm un model de navigare orizontal

            Acest tip de navigare este cel mai popular. Când panoul este proiectat orizontal, toate elementele de meniu sunt situate în antetul paginii sau în „subsol” (uneori elementele de navigare sunt duplicate, apărând simultan atât în ​​partea de sus, cât și în partea de jos).

            De exemplu, vom crea un panou orizontal ale cărui elemente de meniu vor fi stilate ca ajutor css(coli de stil în cascadă), sau mai degrabă transformate. Da, toată lumea element separat va fi situat într-un dreptunghi teșit. Intrigat?

            Pentru transformare folosim o proprietate css numită transforma. Pentru a specifica o transformare, utilizați funcția încorporată skewX, în care unghiul de înclinare este indicat în grade.

            Din păcate, fiecare browser funcționează cu această proprietate în felul său, în ciuda standardelor prescrise. Prin urmare, au fost create prefixe speciale pentru a indica acest lucru:

            • -ms- (Internet Explorer)
            • -o- (Operă)
            • -webkit- (Chrome, Safari)
            • -moz- (Firefox)

            Acum să aplicăm cunoștințele dobândite pentru a scrie un exemplu.

            1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Panou orizontal
          • Acasă
          • Despre companie
          • Produse
          • Contacte
          • Panou orizontal

          • Acasă
          • Despre companie
          • Produse
          • Contacte
          • Și acum pe verticală. Am zis vertical!

            Pentru al doilea program folosim codul anterior ca bază. Am vrut articolele mele meniu vertical nu erau teșite, ci cu colțuri rotunjite.

            Pentru a face acest lucru, am folosit o altă proprietate css hotar-raza.

            În articolele anterioare am lucrat deja cu acest parametru, așa că nu cred că vor fi dificultăți în înțelegerea funcționării acestuia.

            <a href="https://bumotors.ru/ro/krasivoe-gorizontalnoe-menyu-na-css-vertikalnoe-yarkoe-jquery-menyu.html">Panou vertical</a>

          • Acasă
          • Despre companie
          • Produse
          • Contacte
          • După cum ați observat deja, principala modificare a acestui cod este absența unei declarații display: inline-block, care era de fapt responsabil pentru aranjare orizontală puncte de navigație.

            Sub-articole din meniu: listă derulantă

            Ne-am uitat la principalele grupuri bare de navigare, cu toate acestea, există mai multe varietăți, sau mai bine zis, completări.

            Uneori apar situații când unele dintre puncte le completează pe cele principale. În acest caz, nu puteți face fără liste derulante. Ele sunt create prin transformări folosind instrumente CSS.

            Mai jos am atașat codul unui mic program care implementează această abordare.

            1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 Lista verticală

            Lista verticală

            ÎN în acest exemplu Am împărțit unitățile de meniu în două clase:

            1. m-meniu
            2. s-meniu

            Prima clasă este responsabilă pentru meniul principal, iar s-meniul este responsabil pentru submeniu.

            În cod puteți găsi o astfel de tehnică ca .m-meniu > li:hover sau .m-meniu > li.

            Deci, folosind:hover, specificați cum se va comporta elementul atunci când treceți cu mouse-ul peste el.

            În acest caz, semnul „>” modifică selectorul astfel încât numai obiectele aparținând nivelului superior să fie bloc-minuscule.

            Inițial a fost setat submeniul afişa:nici unul, care anunță handlerul de ascundere acest obiect. După trecerea cursorului peste un element de navigare care indică planare, Valoarea proprietății afişa schimbări la blocși astfel se deschide o listă derulantă.

            După cum puteți vedea, implementarea acestei tehnici este foarte simplă.

            Acum ați stăpânit principalele tipuri de panouri de navigare și le puteți modifica, completa și moderniza singur. Dacă ți-a plăcut articolul meu, atunci abonează-te la actualizările blogului și împărtășește sursa de cunoștințe cu prietenii și colegii. Pa! Pa!

            Cu stima, Roman Chueshov

            Citit: de 1010 ori

            În acest tutorial vom crea meniu orizontalîn CSS. Desigur, puteți utiliza deja soluții gata făcute, de exemplu, angajați programatori pentru CMS Made Simple. Cu toate acestea, nu căutați modalităț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 celei părinte.

            Pasul 2 - Creați stiluri 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 și vom rotunji colțurile. Să fixăm lățimea și înălțimea. Vom alinia elementele de meniu la stânga folosind float: left (astfel încât navigarea să capete 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%), #5c5e6a 0%, #3c3d44 100%); fundal: -ms-linear-gradient(sus, #5c5e6a 0%,#3c3d44 100%): liniar-gradient (sus, #5c5e6a 0%, #3c3d44-border-); radius: 4px; -moz-border-radius: 4px;

            Să scriem următorul stil pentru un timp, ascunzând lista derulantă. Acest lucru va face editarea mai ușoară.

            Pasul 3 - Stilul meniului Link

            În continuare, vom scrie stiluri care adaugă câteva proprietăți CSS de bază, cum ar fi tipul fontului, culorile, umplutura etc. Apoi vom adăuga o umbră pentru text și tranzițiile 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 marginea stângăîn prima legătură și chenarul din dreapta în ultima legătură. 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- family: Helvetica, sans-serif: font-size: 1px 1px rgba(0,0,0,.6: color .3s-in-out); transition: color .3s ease-in-out: culoare .3s ease-in-out .menu li:first-child; stânga: niciunul; .menu li:last-child a( chenar-dreapta: niciunul; ) .menu 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 pasul al doilea.

            Meniu ul (afișare: niciunul; )

            Acum vom edita stilul pentru submeniu. Să adăugăm o poziționare a submeniului de 40px în partea de sus și 0px în stânga elementului de meniu și să adăugăm colturi rotunjite de mai jos. Să setăm opacitatea la zero și să o schimbăm la 1 la trecerea cursorului 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 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- rază: 0 0 4px 4px -webkit-transiț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 ușurință .1s;

            Setați lățimea meniului derulant pe care se poate face clic la 100 px. După fiecare link am adăugat un chenar pentru a le separa. Vom elimina chenarul din ultimul link.

            Meniu ul li a ( lățime: 100 px; umplutură: 4 px 0 4 px 40 px; margine: 0; chenar: niciunul; chenar- jos: 1 px solid #464649; ) .menu ul li:last-child a ( chenar: niciunul; )

            Pentru a completa un meniu CSS orizontal, trebuie să adăugați 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.

            Meniu a.d ( fundal: url(docs.png) fără repetare 6px centru; ) .menu a.m ( fundal: url(bubble.png) fără repetare 6px centru; ) .menu a.s ( fundal: url(arrow.png) nu -repetați 6px centru)

            Concluzie

            Am creat cu succes un meniu vertical orizontal folosind stiluri CSS3 și fără a-l folosi, deși a fost și posibil. Dacă aveți întrebări, spuneți-mi în comentarii.

            (descărcări: 395)

Cele mai bune articole pe această temă