Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Këshilla
  • Si të krijoni një menu horizontale css. Konvertimi i menusë në vertikale

Si të krijoni një menu horizontale css. Konvertimi i menusë në vertikale

Nga autori: mirë se vini në blogun tonë për ndërtimin e faqes. Kjo është një seri artikujsh kushtuar specifikimit të ri dhe sot do të doja t'ju tregoja se si të krijoni një menu në html5 dhe si ndryshon ky proces nga i njëjti në versionet e mëparshme të gjuhës.

Cilat janë dallimet

Para së gjithash, dua të them që specifikimi nuk është as aq i ri - ai filloi formimin e tij në vitin 2009. Në fakt, që atëherë ka pasur një zhvillim të vazhdueshëm - në html5 shfaqen mundësi të reja, shfletuesit modernë mbështesin gjithnjë e më shumë këto aftësi, kështu që së shpejti do të jetë e mundur të flitet për mbështetje të plotë për këtë teknologji, megjithëse nuk është diçka e tillë. një tërësi e vetme, përkundrazi, është një grup veçorish të reja, secila prej të cilave është e pavarur.

Epo, mirë, cili është ndryshimi midis krijimit të lundrimit (menusë) kryesore, pasi po lexoni një artikull mbi këtë temë, atëherë patjetër që duhet të ketë disa dallime. Epo, si u krijua menyja më parë? Zakonisht ata përdornin një listë me plumba, e cila vendosej në një enë shtesë për të gjithë navigimin - një ndarje e rregullt.

Pra, me ardhjen e etiketave të reja, tani mund të bëni më saktë - në vend të një etikete div, mbështillni menunë në nav - një element i ri semantik që u krijua posaçërisht për të mbledhur lidhjet më të rëndësishme në të, duke i grupuar ato së bashku.

Mund të vendosni ose një listë ose thjesht një grup lidhjesh në nav. Më duket se kjo është një zgjidhje edhe më e thjeshtë dhe më e saktë, megjithëse në shumë shabllone ende mund të shihni zbatimin e menusë duke përdorur etiketat ul, li, a.

Është interesante se kontejneri nav është krijuar posaçërisht për lidhjet prioritare në faqe. Në fakt, mund të ketë më shumë se një kontenier të tillë në një faqe, por në to duhet të vendosen vetëm ato lidhje që me të vërtetë formojnë navigimin kryesor (për shembull, menyja kryesore kryesore dhe kopjimi i saj në fund të faqes).

Si të krijoni një menu horizontale me html5

Ju as nuk keni nevojë për ndonjë kornizë në listë, gjithçka do të shfaqet fillimisht në një rresht, pasi lidhjet janë elementë inline.

Një tjetër gjë është se ato janë shumë të kufizuara në dizajn për shkak të vetive të tyre inline. Mund të operoni vetëm me veti të tilla si: ngjyra, madhësia e shkronjave, kufijtë. Nëse dëshironi të vendosni një ngjyrë specifike të sfondit, të bëni ndarës dhe të shtoni dhëmbëza të brendshme (ose të përcaktoni madhësinë e secilit artikull të menusë), atëherë nuk do të jeni në gjendje ta bëni këtë me një rresht.

Këtu duhet t'i konvertojmë artikujt tanë në elementë bllok. Për ta bërë këtë, ata duhet të shkruajnë një pronë:

shfaqja: bllok;

Tani ata shkojnë nga lart poshtë, domethënë, navigimi ynë është bërë vertikal. Për ta bërë atë përsëri horizontal, duhet të shtoni disa veçori. Për shembull, në vend të një lloji blloku, përcaktoni një lloj blloku brenda linjës për ta, ose vendosni ato në (float: majtas). Lexoni më shumë rreth këtyre metodave.

Navigacion vertikal

Zakonisht, për të bërë një menu vertikale në html5, ata përdorin një listë, por shënimi që ju dhashë më sipër është i mirë për ne. Siç e patë, nëse i konvertoni lidhjet në lidhje bllokuese, ato automatikisht do të rreshtohen njëri pas tjetrit nga lart poshtë, sepse dy blloqe nuk mund të qëndrojnë në të njëjtën linjë.

Tani mund të zbatoni rregullat e nevojshme të projektimit për to. Ka shumë më tepër veti në blloqe sesa në elementin inline, kështu që ju keni shumë më tepër opsione. Për shembull, shtova sa vijon:

a (dekorimi i tekstit: asnjë; ngjyra: #fff; mbushja: 5 px; madhësia e shkronjave: 22 px; ekrani: bllok; sfondi: gradient linear (djathtas, rgba (96,108,136,1) 0%, rgba (63,76,107 , 1) 100%); gjerësia: 200 px; rreshtimi i tekstit: në qendër)

tekst - dekorim: asnjë;

ngjyra: #fff;

mbushje: 5 px;

font - madhësia: 22px;

shfaqja: bllok;

sfond: linear - gradient (në të djathtë, rgba (96, 108, 136, 1) 0%, rgba (63, 76, 107, 1) 100%);

gjerësia: 200 px;

teksti - rreshtoj: qendër

Në këtë tutorial ne do të krijojmë menu horizontale CSS... Sigurisht, mund të përdorni zgjidhje të gatshme, për shembull, të punësoni programues për CMS Made Simple. Megjithatë, nuk po kërkoni mënyra të thjeshta, apo jo? : ngacmues:

Hapi 1 - Shënimi HTML

Së pari, ne duhet të krijojmë artikuj të listës me një etiketë për çdo artikull në menunë tonë horizontale. Për të krijuar një nënmenu, duhet të shtoni një listë tjetër fëmijësh brenda prindit.

Hapi 2 - Krijimi i stileve CSS për menynë horizontale

Fillimisht, menyja duket vertikale, për ta rregulluar këtë ne do të shkruajmë disa stile, do të modifikojmë indencat, kufijtë, ngjyrën e sfondit, do të rrumbullakojmë qoshet. Ne do të bëjmë gjerësinë dhe lartësinë fikse. Le të bëjmë rreshtimin e artikujve të menusë në të majtë duke përdorur float: majtas (në mënyrë që navigimi të marrë një strukturë horizontale).

Menu, .menu ul, .menu li, .menu a (margjina: 0; mbushja: 0; kufiri: asnjë; skica: asnjë;) .menu (lartësia: 40 px; gjerësia: 505 px; sfondi: # 4c4e5a; sfondi: - webkit-linear-gradient (lart, # 5c5e6a 0%, # 3c3d44 100%); sfond: -moz-linear-gradient (lart, # 5c5e6a 0%, # 3c3d44 100%); sfond: -o-gradient-linear ( sipër, # 5c5e6a 0%, # 3c3d44 100%); sfond: -ms-linear-gradient (lart, # 5c5e6a 0%, # 3c3d44 100%); sfond: gradient linear (lart, # 5c5e6a 0%, # 3c3d44 100%); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;) .menu li (pozicioni: relative; stili i listës: asnjë; float: majtas; shfaqja: bllok ; lartësia: 40 px;)

Le të shkruajmë stilin e mëposhtëm për një kohë, duke fshehur listën rënëse. Kjo do ta bëjë më të lehtë modifikimin.

Hapi 3 - Stiloni menynë e lidhjes

Më pas, ne do të shkruajmë stile që shtojnë disa veti bazë CSS si lloji i shkronjave, ngjyrat, mbushja, etj. Pastaj shtoni një hije për tekstin dhe tranzicionet e ngjyrave për të krijuar një efekt të qetë ku ngjyra nuk ndryshon menjëherë, por në një interval të caktuar. Për të krijuar një ndarës lidhjesh, shtoni një kufi majtas dhe djathtas dhe më pas hiqni kufirin e majtë në lidhjen e parë dhe kufirin e djathtë në lidhjen e fundit. Kur rri pezull mbi menunë, vetëm ngjyra do të ndryshojë.

Meny li a (ekrani: bllok; mbushja: 0 14 px; margjina: 6 pikselë; lartësia e rreshtit: 28 px; dekorimi i tekstit: asnjë; kufiri majtas: 1 px solid # 494942; kufiri djathtas: 1 px solid # 4f5058; font- familja: Helvetica, Arial, sans-serif; pesha e shkronjave: bold; madhësia e shkronjave: 13 px; ngjyra: # f4f4f4; hije teksti: 1px 1px 1px rgba (0,0,0, .6); -webkit-transition : ngjyra jashtë; tranzicioni: ngjyra .3s lehtësi-në-jashtë;) .menu li: fëmija i parë a (kufi-majtas: asnjë;) .menu li: fëmija i fundit a (kufi-djathtas: asnjë;) .menu li: rri pezull> a (ngjyra: # 9fde63;)

Hapi 4 - Menyja rënëse

Para së gjithash, le të heqim këtë linjë kodi që shtuam në hapin e dytë.

Meny ul (ekrani: asnjë;)

Tani do të modifikojmë stilin për nënmenynë. Shtoni pozicionimin 40 pikselë në krye dhe 0 px në të majtë të artikullit të menysë dhe shtoni qoshe të rrumbullakosura në fund. Vendosni transparencën në zero dhe kur lëvizni, ndryshojeni atë në 1 për të krijuar një efekt fade in/out. Për efektin e rrëshqitjes lart/poshtë, duhet të vendosim lartësinë e listës në 0 pikselë kur fshihet me listë dhe 36 pikselë kur rri pezull mbi listën rënëse.

Meny ul (pozicioni: absolut; lart: 40 px; majtas: 0; opacity: 0; sfond: # 2f3035; -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border- rrezja: 0 0 4px 4px; -webkit-tranzicion: opacity .3s lehtësi .1s; -moz-tranzicioni: opacity .3s lehtësi .1s; -o-tranzicioni: opacity .3s lehtësi .1s; -ms-transition: opacity. 3s ease .1s; tranzicion: opacity .3s lehtësi .1s;) .menu li: hover> ul (opacity: 1;) .menu ul li (lartësia: 0; tejmbushje: fshehur; mbushje: 0; -webkit-transition: lartësi .3s lehtësi .1s;-moz-kalim: lartësi .3s lehtësi .1s;-o-kalim: lartësi .3s lehtësi .1s;-ms-kalim: lartësi .3s lehtësi .1s;kalim: lartësi .3s lehtësi. 1s;) .menu li: hover> ul li (lartësia: 36 px; vërshimi: i dukshëm; mbushja: 0;)

Vendosni gjerësinë e menysë rënëse të klikueshme në 100 px. Shtova një kufi pas çdo lidhjeje për t'i ndarë ato. Le të heqim kufirin në lidhjen e fundit.

Menyja ul li a (gjerësia: 100 px; mbushja: 4 px 0 4px 40 px; diferenca: 0; kufiri: asnjë; kufiri-fund: 1px solid # 464649;) .menu ul li: fëmija i fundit a (kufiri: asnjë;)

Për të kompletuar menynë horizontale CSS, ne duhet të shtojmë një ikonë për secilën nënmenu rënëse. Për ta bërë këtë, ne do të krijojmë një klasë të personalizuar për secilën nga nënmenutë dhe do të shtojmë një imazh të sfondit.

Reklama e menysë (sfondi: url (docs.png) pa përsëritje 6 pikselë në qendër;) .menu am (sfondi: url (flluska.png) pa përsëritje 6 pikselë në qendër;) .menu si (sfondi: url (shigjeta.png) nr -përsëriteni 6px qendër;)

konkluzioni

Ne kemi krijuar me sukses një menu horizontale me dhe pa stile CSS3, megjithëse ishte gjithashtu e mundur. Nëse keni ndonjë pyetje, më tregoni në komente.

(Shkarkime: 395)

Specifikim

Përshkrim

Etiketë

ka për qëllim të shfaqë një listë të artikujve të menysë. Ngjashëm me etiketat
    dhe
      brenda enës lista formohet duke përdorur etiketa
    • .

      Në HTML4, etiketa

      e vjetëruar, rekomandohet të përdoret etiketa në vend të saj
        ... Në HTML5, etiketa riaktivizohet, por me një kapacitet tjetër. Tani ajo vepron si një enë për etiketën dhe krijimi i një menuje.

        Sintaksë

        HTML
      • artikulli i menysë
      • artikulli i menysë
      • HTML5 ...

        Atributet

        Vendos etiketën e dukshme për menunë. Përcakton llojin e menysë.

        Etiketa e fundit

        E detyrueshme.

        Vleresimi

        Përdorimi i këtij etiketimi është i vjetëruar nga specifikimi HTML4, kodi i vlefshëm merret vetëm duke përdorur një kalimtar... Në HTML5, duke aplikuar një etiketë

        saktë.

        HTML 4.01 IE Cr Op Sa Fx

        Etiketa MENU

        Në këtë numër:

      • Kuzhinë ruse. Veshi Burlatskaya
      • Ushqimi ukrainas. Vareniki
      • Kuzhina moldave. Paprikash
      • Kuzhinë Kaukaziane. Kharço supë
      • Kuzhina baltike. rrotullim
      • Rezultati i këtij shembulli është paraqitur në Fig. 1.

        Oriz. 1. Pamje e listës së krijuar me etiketën

        HTML5 IE Cr Op Sa Fx

        Etiketa MENU

      • Përqendrimi i një menuje horizontale mund të jetë një detyrë e ndërlikuar, veçanërisht për ata që janë të rinj në CSS. Gjetja e zgjidhjeve çon në një listë shumë të kufizuar metodash, shumica e të cilave mbështeten në CSS, truket JavaScript ose përdorimin e rregullave jo standarde që nuk mbështeten nga të gjithë shfletuesit. Në këtë tutorial, ne do t'ju tregojmë metodën e përqendrimit të një menuje horizontale, e cila përdor vetëm rregullat standarde CSS dhe funksionon në të gjithë shfletuesit.

        Një shembull i një menuje të përqendruar

        Më poshtë është një menu horizontale me qendër në këtë kolonë, në të cilën aktivizohet skeda e dytë. Mund të provoni të ndryshoni madhësinë e dritares ose faqes së shfletuesit për t'u siguruar që menyja të qëndrojë gjithmonë në qendër dhe të përgjegjshme.

        Në faqen demo, mund të shihni disa opsione të projektimit për një menu me qendër horizontalisht. Secili prej tyre mund të përdoret në projektet tuaja.

        Shënimi HTML

        Të gjitha menutë e paraqitura në këtë mësim përdorin një strukturë të thjeshtë. Kjo është një listë e zakonshme e parregulluar e lidhjeve të vendosura në një element div.

        • Faqeshënuesi i parë
        • Faqeshënuesi i dytë
        • Faqeshënuesi i tretë
        • Faqeshënuesi i katërt

        Kodi CSS i menysë në qendër

        Më poshtë është CSS e plotë që do të përqendrojë menunë. Dhe shpjegimet e parimit të punës jepen më vonë në mësim.

        #centredmenu (float: majtas; gjerësia: 100%; sfond: #fff; kufiri-fund: 4px solid # 000; tejmbushje: fshehur; pozicioni: relative;) #centredmenu ul (e qartë: majtas; noton: majtas; stili i listës : asnjë; margjina: 0; mbushje: 0; pozicioni: relative; majtas: 50%; rreshtimi i tekstit: në qendër;) #centeredmenu ul li (ekrani: bllok; float: majtas; stili i listës: asnjë; margjina: 0; mbushja: 0; pozicioni: relative; djathtas: 50%;) #menu në qendër ul li a (ekrani: bllok; margjina: 0 0 0 1px; mbushja: 3px 10px; sfondi: #ddd; ngjyra: # 000; dekorimi i tekstit: asnjë; lartësia e linjës: 1,3em;) #menu në qendër ul li a: rri pezull (sfondi: # 369; ngjyra: #fff;) #menu në qendër ul li a.active, #menu në qendër ul li a.active: rri pezull (ngjyra: # fff; sfondi: # 000; pesha e shkronjave: bold;)

        Si funksionon metoda e përqendrimit

        Metoda bazohet në pozicionimin relativ të elementeve të bllokut lundrues në njëri-tjetrin. Së pari, le të shohim se si elementët ndryshohen kur zhvendosen.

        Elementi div(blloku), pa kompensim, shtrihet në gjerësinë e plotë të disponueshme për të.

        Por nëse e zhvendosim elementin div në të majtë, ai automatikisht do të tkurret për t'iu përshtatur përmbajtjes së tij. Kompresimi është çelësi për zbatimin e kësaj metode për qendrimin e menyve. Ndihmon për të zhvendosur menunë në pozicionin e duhur.

        Menuja standarde e rreshtuar majtas

        Le të marrim një menu standarde të rreshtuar majtas dhe ta ridizajnojmë atë hap pas hapi. Për qartësi, artikujt janë të ngjyrosur me ngjyra të ndryshme, kështu që është e qartë menjëherë se çfarë është investuar.

        Kushtojini vëmendje pikave të mëposhtme:

        • Elementi meny në qendër div(drejtkëndëshi blu) është zhvendosur në të majtë, por është 100% i gjerë, kështu që qëndron i shtrirë për të mbushur të gjithë faqen.
        • Elementi ul(drejtkëndësh rozë) është brenda elementit menu në qendër div dhe zhvendoset në të majtë. Kjo do të thotë se do të tkurret në gjerësinë e përmbajtjes së tij, domethënë në gjerësinë totale të të gjithë faqeshënuesve.
        • Të gjithë elementët li (drejtkëndëshat e gjelbër) janë brenda elementit ul dhe lëvizni në të majtë. Kështu, ato zvogëlohen në madhësinë e lidhjeve në to dhe rreshtohen në një vijë horizontale.
        • Brenda çdo lidhjeje (drejtkëndësha portokalli) shfaqet teksti i faqerojtësit: Faqeshënuesi 1, Faqerojtësi 2, e kështu me radhë.

        Zhvendosja e pozicionit të listës së pa renditur


        Pastaj ne kompensojmë elementin ul në të djathtë me 50% duke përdorur pozicionin: relative; ... Kur një element kompensohet me një përqindje në këto kushte, është e rëndësishme të mbani mend se gjerësia totale e elementeve që ai përmban nuk është gjerësia e tij. Në rastin tonë, zhvendosja ndodh nga gjysma e dritares së shfletuesit (ose hapësira e disponueshme për t'u shfaqur) Si rezultat, menyja jonë fillon në mes të dritares dhe pjesërisht shtrihet jashtë saj. Dhe kaloni në hapin tjetër.

        Zhvendosja e pozicionit të të gjithë artikujve të menusë


        Mbetet vetëm për të lëvizur të gjithë elementët li lënë me 50%. Kjo është 50% e gjerësisë së elementit tonë ul (kontejneri që përmban menunë). Kështu, skedat zhvendosen saktësisht në qendër të dritares.

        Disa shënime të rëndësishme

        Ka disa pika të rëndësishme që duhen mbajtur parasysh kur përdorni këtë metodë përqendrimi:

        • Që nga elementi ul shtrihet pjesërisht jashtë dritares, kjo çon në shfaqjen e shiritave të lëvizjes. Prandaj, duhet të përdorni tejmbushjen: rregulli i fshehur; për element meny në qendër div... Kështu, pjesa e dalë e elementit div do të ndërpritet.
        • Që nga elementi ul nuk është në linjë me faqeshënuesit, nuk mund të përdorni asnjë stil vizual për të. Lëreni elementin ul pa ngjyrë të sfondit dhe pa kufi, kështu që ai të jetë plotësisht i padukshëm. Dhe stilet për faqeshënuesit duhet të përdoren vetëm për elementë. li.
        • Nëse keni nevojë të vendosni stile të veçanta për faqeshënuesit e parë dhe të fundit, duhet të shtoni një klasë për elementët e parë dhe të fundit. li kështu që ju mund t'i stiloni ato individualisht.

        konkluzioni

        Zgjidhja e propozuar është e përputhshme me të gjithë shfletuesit, nuk përdor JavaScript dhe mbështet tekst të ripërmasave.

        Nga autori: I mirëpres të gjithëve. Për disa arsye, webmasterët shoqërojnë një menu rënëse me skriptet, por për një kohë të gjatë një navigim i tillë mund të bëhet absolutisht në mënyrë të sigurt duke përdorur css të pastër. Për më tepër, një menu e tillë nuk do të jetë më e keqe. Sot do t'ju tregoj se si të krijoni një menu dropdown në css. Unë do të ndaj, si të thuash, një recetë.

        Plani i mësimit dhe faqosja e menusë sonë

        Në përgjithësi, së pari le të vendosim se si do ta krijojmë vetë menunë. Në html5, mënyra standarde është krijimi i tij në një kontejner navigimi duke përdorur një listë me pika. Le të bëjmë vetëm atë. Ne do t'i heqim shënuesit më vonë duke përdorur css, nuk na duhen fare në meny.

        Në fakt, unë do të shkruaj menjëherë shënimin me lista të mbivendosura në html. Kjo do të thotë, lista jonë do të jetë me dy nivele - do të përmbajë lista të tjera. Domethënë, për çdo artikull 1 listë, e cila do të formojë një menu me rënie.

        Ekziston një pikë e rëndësishme këtu, e cila është se mund të mos keni nevojë të bëni çdo artikull në rënie, por vetëm disa. Nuk ka problem, atëherë ne thjesht nuk krijojmë lista të mbivendosura në paragrafë pa lënë jashtë.

        Në fakt, këtu është, e gjithë shënimi:

        < nav id = "nav" >

        < ul >

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

        < ul class = "second" >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < / ul >

        < / li >

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

        < ul class = "second" >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < / ul >

        < / li >

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

        < ul class = "second" >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < / ul >

        < / li >

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

        < ul class = "second" >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < li > < a href = "#" >Nënparagrafi< / a > < / li >

        < / ul >

        < / li >

        < / ul >

        < / nav >

        E kuptoj që është i madh. Ky është problemi me listat e mbivendosura, që kërkon shumë kod. Por mbani në mend faktin që ne po bëjmë 4 artikuj kryesorë dhe për secilin do të ketë një menu me zbritje.

        Në fakt, vendosa identifikuesin nav për të gjithë navigimin dhe klasën e stilit të dytë për të gjitha listat e ndërlidhura, në mënyrë që të kuptoj se ato janë të ndërthurura.

        E shkëlqyeshme, shënimi ynë është gati, mund të shikoni rezultatin:

        Po, duket e tmerrshme. Por tani do të aktivizojmë css dhe brenda pak minutash navigimi ynë do të transformohet. Le të shkojmë në punë.

        Shkrimi i stileve css

        Gjëja e parë që do të bëj është të rivendos të gjithë mbushjen në parazgjedhje për të gjithë elementët. Ata vetëm do të ndërhyjnë me ne, është më mirë t'i vendosim vetë dhëmbëzat, aty ku duhet.

        * (diferencë: 0; mbushje: 0;)

        diferenca: 0;

        mbushje: 0;

        #nav (lartësia: 70 px;) #nav ul (stili i listës: asnjë;)

        #nav (

        lartësia: 70 px;

        #nav ul (

        lista - stili: asnjë;

        Tani ne në fakt duhet të vendosim se cila do të jetë menyja jonë. Horizontale apo vertikale? Unë propozoj që së pari të bëni horizontale dhe të shihni gjithçka në shembullin e saj. Për ta bërë këtë, duhet të shkruani stilet e mëposhtme:

        #nav> ul> li (lundrues: majtas; gjerësia: 180 px; pozicioni: relative;)

        #nav> ul> li (

        noton: majtas;

        gjerësia: 180 px;

        pozicioni: i afërm;

        Vini re se me shenjën > i referohemi artikujve në një listë që është i vendosur drejtpërdrejt në një ul dhe ai është i vendosur drejtpërdrejt në një nav. Kjo është shumë e rëndësishme, pasi ju lejon të mos aplikoni stilin për artikujt në listat e ndërlidhura. Fakti është se, sipas idesë sime, artikujt në listën kryesore do të rregullohen horizontalisht, dhe në ato të mbivendosur - vertikalisht.

        Por, sigurisht, ju mund ta bëni atë ndryshe, në përputhje me idenë tuaj. Ju mund t'i bëni të gjitha artikujt në një rresht.

        Gjithsesi, kodin e mësipërm, shpresoj ta kuptoni. Ai detyron artikujt në listën kryesore të rrafshohen në të majtë, në mënyrë që të vendosen të gjithë në të njëjtën linjë, edhe pse janë artikuj bllok. Unë gjithashtu u dhashë atyre një gjerësi të qartë dhe një pozicion relativ.

        Për çfarë është pozicionimi? Është e nevojshme që më pas të pozicionohen absolutisht listat e mbivendosura. Nëse keni studiuar pozicionimin në css, atëherë me siguri e dini se nëse vendosni një pozicionim relativ të bllokut, atëherë të gjithë elementët në të mund të pozicionohen absolutisht brenda këtij blloku të veçantë, dhe jo të gjithë dritares së shfletuesit.

        Ndërkohë, ja çfarë kemi marrë tashmë:

        Nga kjo pamje e ekranit, tashmë mund të imagjinoni rezultatin e përafërt. Natyrisht, ende duhet t'i dekorojmë bukur paragrafët, në mënyrë që sytë të mos kërkojnë mëshirë kur shikojnë navigimin.

        #nav li a (ekrani: bllok; sfondi: # 90DA93; kufiri: 1px solid # 060A13; ngjyra: # 060A13; mbushja: 8 px; rreshtimi i tekstit: në qendër; dekorimi i tekstit: asnjë;) #nav li a: rri pezull ( sfond: # 2F718E;)

        #nav li a (

        shfaqja: bllok;

        sfond: # 90DA93;

        kufiri: 1px solid # 060A13;

        ngjyra: # 060A13;

        mbushje: 8 px;

        teksti - rreshtoj: qendër;

        tekst - dekorim: asnjë;

        #nav li a: rri pezull (

        sfond: # 2F718E;

        Së pari, vetë lidhjet duhet të bllokohen. Kjo është e nevojshme që mbushja të funksionojë dhe të gjitha vetitë të zbatohen siç duhet. Më pas, unë specifikoj ngjyrat e sfondit, tekstin, parametrat e kornizës, mbushjen dhe shtrirjen e tekstit në qendër. Në fund, hiqni nënvizimin nga lidhjet.

        Të gjithë këta parametra nuk duhet të shkruhen siç shkrova unë. Ju mund të zgjidhni ngjyrat në mënyrë arbitrare, të bëni një kornizë të ndryshme ose të mos përdorni fare, dhëmbëzimi mund të zvogëlohet ose rritet.

        Vini re se në këtë rast ne nuk kemi përdorur shenjën>, kështu që këto rregulla do të zbatohen për të gjitha lidhjet, duke përfshirë ato në paragrafët e mbivendosur. Pra, tani kemi sa vijon:

        E shkëlqyeshme, por ju e kuptoni që nën-artikujt nuk duhet të jenë të dukshëm, ato duhet të hapen kur rri pezull mbi artikullin e dëshiruar. Pa të, menuja jonë duket si një tryezë. Epo, është koha për të fshehur artikujt e mbivendosur.

        #nav li .sekond (ekrani: asnjë; pozicioni: absolut; lart: 100%;)

        #nav li .sekond (

        shfaqja: asnjë;

        pozicioni: absolut;

        krye: 100%;

        Së pari, ne fshehim listat e mbivendosura plotësisht. Së dyti, ne u japim atyre pozicionimin absolut dhe koordinatën e sipërme: 100%. Kjo do të thotë që menyja rënëse do të shfaqet qartë poshtë artikullit kryesor që i përket, qartë nën 100% të lartësisë së atij artikulli.

        Tani ne shohim vetëm menunë kryesore në faqen e internetit, e cila është ajo që na nevojitet.

        Zbatimi i braktisjes

        Ne duhet të bëjmë gjënë më të rëndësishme - të kuptojmë vetë humbjen. Nuk ka asgjë të komplikuar në lidhje me të, shikoni këtë kod:

        #nav li: hover .sekond (shfaq: bllok;)

        #nav li: rri pezull .sekond (

        shfaqja: bllok;

        Ky kod do të funksionojë pa të meta. Kur rri pezull mbi një artikull në menynë kryesore, lista e mbivendosur do të bëhet e dukshme. Dhe vetëm lista që është e ngulitur në artikullin mbi të cilin lëviz kursori.

        Ekziston vetëm një problem i vogël - gjerësia e artikujve të mbivendosur nuk përputhet me gjerësinë e atyre kryesore. Por kjo zgjidhet shumë lehtë duke shtuar stilet e duhura:

        #nav li li (gjerësia: 180px;)

        #nav li li (

        gjerësia: 180 px;

        Gjithçka, problemi është zgjidhur:

        Gjithçka funksionon në mënyrë perfekte. Kur kaloni pezull mbi artikullin kryesor, shfaqet menyja përkatëse e lëshimit. Nëse e lëvizni kursorin anash, ai zhduket. Nëse e zhvendosni kursorin te vetë artikujt e mbivendosur, mund të klikoni mbi to dhe të shkoni në seksionin e dëshiruar të faqes. Kështu, ne kemi krijuar me ju një menu shumë të thjeshtë dhe të lehtë rënëse, pa absolutisht asnjë skript.

        Konvertimi i menusë në vertikale

        Epo, mirë, ne e kemi kuptuar plotësisht navigimin horizontal, por përveç tij, navigimi vertikal është shumë i zakonshëm në faqet, dhe gjithashtu mund të jetë me rënie. Në fakt, është shumë e lehtë të ndryshosh menunë nga horizontale në vertikale, thjesht duhet të ndryshojmë disa rreshta kodi.

        Së pari, do t'ju duhet të hiqni float: majtas nga artikujt e listës kryesore. Është kjo veti që kontribuon në faktin që artikujt tanë shfaqen në një rresht, por pse na duhet kjo nëse lundrimi duhet të jetë vertikal?

        Tani mbetet për të ndryshuar rregullat për përzgjedhësin #nav li .second, domethënë për listat e mbivendosura, domethënë, ato duhet të pozicionohen paksa ndryshe. Si kjo:

        #nav li .sekond (ekrani: asnjë; pozicioni: absolut; majtas: 100%; lart: 0;)

        #nav li .sekond (

        shfaqja: asnjë;

        pozicioni: absolut;

        majtas: 100%;

        krye: 0;

        Kjo do të thotë, është e nevojshme të regjistrohen dy koordinata në vend të një. Së pari, në rastin e lundrimit horizontal, thashë që, siç ishte menduar, artikujt e menyve të ndërlidhura duhet të shfaqen nën artikujt kryesorë. Në rastin e një menuje vertikale, kjo nuk është e përshtatshme - artikujt duhet të shfaqen anash.

        Pra, ndryshoni majën: 100% majtas: 100%. Përveç kësaj, ne gjithashtu kemi nevojë për koordinatën e sipërme. E vendosim në 0 në mënyrë që nënmenyja të jetë në të njëjtin nivel me artikullin që i përgjigjet.

        Gjithçka, tani gjithçka funksionon siç duhet. Mund ta provoni. Siç mund ta shihni, nuk po gënjeva kur thashë se do të më duhej të rishkruaja vetëm disa rreshta kodi.

        Menu horizontale me shumë nivele

        Duke përdorur përafërsisht të njëjtën qasje, mund të krijoni më shumë nivele të menysë nëse është e nevojshme. Për shembull, le të krijojmë një listë për artikullin e katërt të menysë kryesore, e cila do të vendoset në një nga nën-artikujt.

Artikujt kryesorë të lidhur