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ë