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 në css të pastër. Dhe një menu e tillë nuk do të jetë më keq. Sot do t'ju tregoj se si të krijoni një menu dropdown në css. Më lejoni të ndaj recetën.
Plani i mësimit dhe faqosja e menusë sonë
Në përgjithësi, së pari do 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ë në shënimin html me lista të mbivendosura. Kjo do të thotë, lista jonë do të jetë me dy nivele - do të përmbajë lista të tjera. Përkatësisht, për secilin artikull 1 listë, e cila do të formojë një menu rënëse.
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 një braktisje.
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 ndërthurura, që duhet të shkruani shumë kode. Por merrni parasysh faktin që ne po bëjmë 4 artikuj kryesorë dhe do të ketë një menu rënëse për secilin.
Në fakt, i dhashë të gjithë navigimit ID-në e navigimit dhe të gjitha listat e ndërlidhura të klasës së stilit të dytë për të kuptuar se ato janë të ndërthurura.
E shkëlqyeshme, shënimi është gati, mund ta shihni rezultatin:
Po, duket e tmerrshme. Por tani ne do të përfshijmë css në punë dhe në pak minuta lundrimi ynë do të ndryshojë. Le te punojme.
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 më vonë, aty ku është e nevojshme.
*( margjina: 0; mbushje: 0; )
diferenca: 0 mbushje: 0 |
#nav(lartësia: 70px; ) #nav ul(stili i listës: asnjë; )
#nav( lartësia: 70 px #navul( list-style: asnjë; |
Tani duhet të vendosim se cila do të jetë menyja jonë. Horizontale apo vertikale? Unë sugjeroj që së pari të bëni një 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( float: 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 të listuar që janë të vendosur drejtpërdrejt në ul, i cili është i vendosur drejtpërdrejt në nav. Kjo është shumë e rëndësishme, pasi ju lejon të mos aplikoni stil për artikujt e listës së mbivendosur. 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. Mund të siguroheni që të gjithë artikujt janë në një linjë.
Gjithsesi, kodin e mësipërm, shpresoj ta kuptoni. Ai detyron artikujt e listës kryesore të vendosen në të majtë, kështu që të gjithë përshtaten në të njëjtën linjë, edhe pse janë elementë të nivelit të bllokut. Unë gjithashtu u dhashë atyre një gjerësi të qartë dhe një pozicion relativ.
Për çfarë është pozicionimi? Është e nevojshme për të pozicionuar absolutisht listat e mbivendosura më vonë. Nëse keni studiuar pozicionimin në css, me siguri e dini se nëse vendosni një bllok në pozicionim relativ, atëherë të gjithë elementët në të mund të pozicionohen absolutisht brenda këtij blloku të veçantë, dhe jo të gjithë dritaren e shfletuesit.
Ndërkohë, ja çfarë kemi marrë deri tani:
Nga kjo pamje e ekranit, tashmë mund të imagjinoni rezultatin e përafërt. Natyrisht, ende duhet t'i stilojmë bukur pikat 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:hover( sfond: #2F718E;)
#nav li a( shfaqja : bllok ; sfond : #90DA93; kufiri: 1px solid #060A13; ngjyra: #060A13; mbushje: 8 px text-align: qendër; teksti - dekorim : asnjë ; #nav li a:hover( sfond : #2F718E; |
Së pari, vetë lidhjet duhet të bllokohen. Kjo është e nevojshme në mënyrë që mbushja të funksionojë dhe të gjitha vetitë të aplikohen në mënyrë korrekte. Më pas, unë specifikoj ngjyrat e sfondit, tekstin, opsionet e kornizës, dhëmbëzimin dhe shtrirjen e tekstit në qendër. Së fundi, unë heq nënvizimin e lidhjeve.
Të gjithë këta parametra nuk duhet të shkruhen ashtu siç shkrova unë. Ju mund të zgjidhni ngjyrat në mënyrë arbitrare, të bëni një kornizë të ndryshme ose të mos e 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ë zbulohen kur rri pezull mbi artikullin e dëshiruar. Pa këtë, menuja jonë duket si një tryezë. Epo, është koha për të fshehur sendet e mbivendosura.
#nav li .second( shfaqja: 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 koordinojmë majën: 100%. Kjo do të thotë që menyja rënëse do të shfaqet qartë poshtë artikullit kryesor të cilit 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
Na mbetet të bëjmë gjënë më të rëndësishme - të zbatojmë vetë pasojat. Nuk ka asgjë të komplikuar në lidhje me të, shikoni këtë kod:
#nav li:hover .second( shfaqja: bllok; )
#nav li:hover .sekond( shfaqja : bllok ; |
Ky kod do të funksionojë pa të meta. Kur rri pezull mbi një artikull të menysë kryesore, lista e mbivendosur do të bëhet e dukshme. Dhe vetëm lista që është e vendosur në artikullin në të cilin kursori është pezull.
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: 180 px; )
#nav li li( gjerësia: 180 px |
Kjo është ajo, problemi u zgjidh:
Gjithçka funksionon në mënyrë perfekte. Kur kaloni pezull mbi artikullin kryesor, shfaqet një menu 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 bërë një menu shumë të thjeshtë dhe të lehtë me zbritje pa absolutisht asnjë skript.
Ndryshimi i menusë në vertikale
Epo, ne e kemi kuptuar plotësisht navigimin horizontal, por përveç tij, navigimi vertikal është shumë i zakonshëm në sajte dhe gjithashtu mund të jetë me rënie. Në fakt, ndryshimi i menusë nga horizontale në vertikale është shumë i lehtë, do të na duhet të ndryshojmë vetëm disa rreshta kodi.
Së pari, do t'ju duhet të hiqni float:left 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 navigimi 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 pak më ndryshe. Si kjo:
#nav li .second( shfaqja: 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 navigimit horizontal, thashë që, siç ishte planifikuar, artikujt e nënmenusë 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, ne ndryshojmë majën: 100% në të majtë: 100%. Përveç kësaj, ne gjithashtu kemi nevojë për koordinatën e sipërme. Vendoseni atë në 0 në mënyrë që nënmenyja të jetë në të njëjtin nivel me artikullin që përputhet.
Gjithçka, tani gjithçka funksionon siç duhet. Ju mund të testoni. 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 pothuajse të njëjtën qasje, mund të krijoni më shumë nivele të menusë nëse është e nevojshme. Për shembull, le të krijojmë një listë për artikullin e katërt të menysë kryesore, i cili do të vendoset në një nga nën-artikujt.
Përshëndetje të dashur lexues të blogut tim! Artikulli i sotëm do të jetë shumë i dobishëm për fillestarët. Që sot do të krijojmë një menu të thjeshtë horizontale. Para se të vazhdojmë drejtpërdrejt me paraqitjen, dua të them disa fjalë se pse vendosa të zgjedh këtë temë të veçantë për artikullin.
Në fakt, gjithçka është fare e thjeshtë, kur po mendoja për temën e mësimit të radhës për sitin, fillova të kujtoj dhe analizoj përvojën time në studimin e paraqitjes, me atë që duhej të përballesha në fazën fillestare për t'u bërë vetvetja si plan urbanistik. projektuesi, gjë që ishte më e pakuptueshme për mua kur studioja këtë fushë etj. I bëra vetes të gjitha këto pyetje në mënyrë që të kuptoja më mirë se çfarë mund të jetë me interes për një person që fillon rrugën e tij si një projektues faqosjeje. Dhe personalisht, sapo fillova të mësoja layout, mbi të gjitha kisha pyetje në lidhje me paraqitjen e menyve të ndryshme, veçanërisht kur bëhet fjalë për menutë me shumë nivele. Dhe kështu sot do të flasim për menunë, dhe më konkretisht për menunë horizontale. Pra, le të fillojmë!
Le të fillojmë paraqitjen e menusë sonë horizontale!
Siç mund ta merrni me mend, gjëja e parë që duhet të bëjmë është të krijojmë një faqe html me shënim standard dhe të përfshijmë një skedar stili në të. Nuk do të ndalem në këtë hap në detaje, sepse shpresoj ende që të mos jeni aq fillestar sa t'ju tregoj në detaje se çfarë është trupi dhe koka dhe si lidhen stilet. Më lejoni të them vetëm se përveç stileve për menunë tonë, unë do të shkruaj rivendosjen më të thjeshtë në skedarin css në mënyrë që të rivendosni stilet dhe të arrini të njëjtën shfaqje të indenteve në të gjithë shfletuesit. Kështu duket rivendosja ime më e thjeshtë:
Nuk do të them asgjë për stilet zero, pasi në fakt kjo është një temë për një artikull tjetër, e vetmja gjë që duhet të dini për kodin e mësipërm është se falë këtij kodi, të gjithë elementët e faqes që do të shkruajmë do të kenë margjinat dhe mbushjet, duhet ta bëjmë këtë në mënyrë që faqja jonë të duket e njëjtë në të gjithë shfletuesit.
Pra, çfarë kemi ne në këtë fazë? Ne kemi një faqe html me shënim standard:
Dhe ne kemi një skedar stili të lidhur me këtë faqe (kam style.css), me përmbajtjen e mëposhtme:
Hapi tjetër është krijimi i shënjimit html për menunë tonë.
Krijimi i shënimit për menunë
Në shënimin tonë, ne do të përdorim etiketën e re
Dhe meqenëse tashmë kemi filluar të flasim për mbështetje për etiketat e reja html 5, në mënyrë që të mos kemi probleme me këtë në shfletuesit e vjetër, duhet të përfshijmë një bibliotekë të veçantë në dokumentin tonë - html5shiv. Kjo bëhet duke futur
seksioni kryesor i faqes tuaj me kodin e mëposhtëm:
Gjithçka pas kësaj etikete
Le të kthehemi te shënimi ynë. Tjetra na duhet në etiketën tonë
Pra, me shënimin, duket se kemi përfunduar, është koha për të vazhduar drejtpërdrejt me stilet e shkrimit, pasi tani menuja jonë duket, për ta thënë butë, jo shumë e mirë:
Stilimi i menysë sonë horizontale
Dhe kështu, para së gjithash, kur shtrojmë menunë, duhet të heqim shënuesit e listës, padyshim që nuk na duhen, bëhet kështu:
Ul (stili i listës: asnjë; )
Pas kësaj, menuja jonë do të duket si kjo:
Nuk më pëlqen shumë që menyja jonë ngjitet në skajet e shfletuesit, le ta rregullojmë këtë:
Me këtë kod, ne vendosëm gjerësinë e menysë sonë, i dhamë 50 px dhëmbëza të sipërme dhe të poshtme dhe e vendosëm në qendër. Kush nuk e di nëse një element blloku ka një gjerësi, atëherë për ta pozicionuar këtë element në mënyrë strikte në qendër, ne vetëm duhet të vendosim indentimin e tij të jashtëm (margjinën) djathtas dhe majtas me një vlerë auto.
Hapi tjetër, ne duhet të bëjmë më në fund menunë tonë horizontale, kjo bëhet duke vendosur elementët
Menyja li (lundrues: majtas; )
Gjithçka tani menuja jonë është bërë horizontale.
Nëse nuk e kuptoni se çfarë ka ndodhur saktësisht dhe çfarë bën prona float, ju rekomandoj që të kërkoni në google informacione për këtë pronë dhe ta studioni mirë, pasi
asnjë faqe e vetme e paraqitjes nuk mund të bëjë pa të, mund t'ju them me siguri. Epo, mirë, le të vazhdojmë!
Meny li a( display:block;/* Bëje lidhjen një element bllok*/ mbushje:12px 20px;/* Cakto mbushjen */ dekorimin e tekstit: asnjë; /* hiqni nënvizimin */ color:#fff;/* bëni lidhjet me ngjyrë të bardhë */ sfond:#444;/* bëni ngjyrën e sfondit të errët */ font:14 px Verdana, sans-serif;/* vendosni madhësinë dhe emrin e shkronjave */ )
Një nga rregullat më të rëndësishme këtu është display:block;. Fakti është se lidhjet janë elemente inline si parazgjedhje, dhe dhëmbëzimet aplikohen në elementët inline në mënyra të ndryshme në shfletues të ndryshëm, kështu që këshillohet që lidhja të bëhet një element blloku dhe vetëm atëherë të aplikohen vetitë e lidhura me dhëmbëzimet e jashtme ose të brendshme në të. Tani nuk dua t'ju ngarkoj me informacione të panevojshme me kalimin e kohës, duke përdorur shembuj realë, ju vetë do të kuptoni pse vihet një theks i tillë këtu.
Le të shohim se çfarë kemi marrë, rifreskoni faqen e shfletuesit dhe tadam!:
Siç mund ta shihni, nuk duket keq, mund të themi se, në parim, menuja jonë është gati. E vetmja gjë që duhet bërë është të vendosësh dritën e lidhjeve në hover, mirë, më duket se menyja do të duket më mirë me ndarësit midis artikujve.
Le të fillojmë me kufijtë:
Menyja li (kufiri-majtas:1px solid #666; ) .menu li:first-child(kufia-majtas:asnjë; )
Çfarë kemi bërë këtu? Po, gjithçka është shumë e thjeshtë, ne kërkuam artikujt tanë (
Përsëri, le të shohim se çfarë kemi:
Sipas mendimit tim, me ndarës është shumë më mirë.
Menyja li a:hover( sfond:#888; )
Përsëri duke përdorur një pseudo-klasë të veçantë, këtë herë rri pezull, vendosim ngjyrën e lidhjes kur rri pezull mbi të, shikoni:
Për mendimin tim, cool 🙂, shpresoj të keni të njëjtën menu si timen.
Këtu do ta mbyll këtë mësim, me të vërtetë shpresoj se ishte i dobishëm për ju dhe tani e dini si të bëni një menu të thjeshtë horizontale duke përdorur html dhe css të pastër. Sigurisht, ne kemi shtruar një menu me një nivel, do të jetë pak më e vështirë me një menu me dy nivele (me një listë të ndërthurur), por kjo është një temë për një mësim tjetër, kjo është e gjitha për mua. Ejani përsëri, do të jem i lumtur!!!
Detyra e përqendrimit të një menuje horizontale mund të jetë e ndërlikuar, veçanërisht për ata që janë të rinj në CSS. Kërkimi për zgjidhje çon në një listë shumë të kufizuar metodash, shumica e të cilave mbështeten në truket CSS, JavaScript ose përdorimin e rregullave jo standarde që nuk mbështeten nga të gjithë shfletuesit. Në këtë tutorial, ne do të shikojmë një metodë horizontale të përqendrimit të menusë që përdor vetëm rregullat standarde CSS dhe funksionon në të gjithë shfletuesit.
Shembull i menusë së 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 funksionale.
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ë, shembuj të të cilave janë dhënë në këtë mësim, përdorin një strukturë të thjeshtë. Është thjesht një listë e parregulluar e lidhjeve të mbështjella në një element. div.
Kodi CSS i menysë në qendër
Më poshtë është kodi i plotë CSS që përqendron menunë. Dhe shpjegimet e parimit të punës jepen më vonë në mësim.
#centeredmenu ( float:majtas; gjerësia:100%; sfond:#fff; kufiri-fund:4px solid #000; tejmbushje: fshehur; pozicioni:relativ; ) #centredmenu ul ( qartë:majtas; float:majtas; stili i listës :asnjë; margjina:0; mbushje:0; pozicioni:relativ; majtas:50%; rreshtimi i tekstit: qendër; ) #centeredmenu ul li ( shfaqja:blloku; float: majtas; stili i listës: asnjë; margjina:0; mbushje:0; pozicioni:relativ; djathtas:50%; ) #centeredmenu ul li a ( shfaqja:blloku; margjina:0 0 0 1px; mbushja:3px 10px; sfondi:#ddd; ngjyra:#000; dekorimi i tekstit: asnjë; line-height:1.3em; ) #centeredmenu ul li a:hover ( sfond:#369; ngjyra:#fff; ) #centeredmenu ul li a.active, #centeredmenu ul li a.active:hover ( color:# fff; sfond:#000; pesha e shkronjave: bold; )
Si funksionon metoda e përqendrimit
Veprimi i metodës bazohet në pozicionimin relativ të elementeve të bllokut lundrues njëri brenda tjetrit. Së pari, le të shohim se si ndryshon madhësia e elementeve kur kompensohet.
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 në madhësinë e përmbajtjes së tij. Kompresimi është çelësi për zbatimin e kësaj metode të përqendrimit të menusë. 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ë menjëherë e qartë se çfarë është investuar.
Kushtojini vëmendje pikave të mëposhtme:
- Elementi menyja e përqendruar div(drejtkëndëshi blu) është zhvendosur në të majtë, por ka një gjerësi prej 100%, kështu që qëndron i shtrirë për t'iu përshtatur të gjithë faqes.
- Elementi ul(drejtkëndësh rozë) është brenda elementit menu në qendër div dhe zhvendoset në të majtë. Kjo do të thotë që ai do të tkurret në gjerësinë e përmbajtjes së tij, pra në gjerësinë totale të të gjithë faqerojtësve.
- 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ë një liste të parregulluar
Më pas e lëvizim elementin ul djathtas me 50% me pozicionin:pasuri 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 është gjysma e dritares së shfletuesit (ose hapësira e disponueshme për shfaqje) Si rezultat, menyja jonë fillon në mes të dritares dhe pjesërisht shtrihet përtej saj. Dhe kalojmë në hapin tjetër.
Zhvendos pozicionin e të gjithë artikujve të menysë
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 gjëra të rëndësishme që duhen mbajtur parasysh kur përdorni këtë metodë përqendrimi:
- Që nga elementi ul pjesërisht shkon jashtë dritares, kjo çon në shfaqjen e shiritave të lëvizjes. Prandaj, duhet të përdorni rregullin overflow:hidden; për element menyja e përqendruar div. Kështu, pjesa e dalë e elementit div do të ndërpritet.
- Që nga elementi ul nuk është i rreshtuar me skeda, nuk mund të përdorni asnjë stil vizual për të. Lëreni elementin ul pa ngjyrë sfondi dhe pa kufi për ta bërë atë plotësisht të 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 skedën e parë dhe të fundit, duhet të shtoni një klasë për elementët e parë dhe të fundit li në mënyrë që 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.
Habr, përshëndetje!
Ka shumë zgjidhje të mira nga specialistë të ndryshëm në Codepen dhe besoj se më të mirat prej tyre duhet të mblidhen në një vend. Prandaj, 2 vjet më parë, fillova të ruaj skriptet interesante për tema të ndryshme në kompjuterin tim.
Unë i postoja në grupin e produkteve të cloud IDE z. Gefest, këto ishin asamble prej 5-8 solucionesh. Por tani kam filluar të grumbulloj 15-30 skripta në tema të ndryshme (butona, meny, këshilla veglash, e kështu me radhë).
Komplete të tilla të mëdha duhet t'i tregohen një numri më të madh specialistësh. Prandaj i postoj në Habr. Unë shpresoj se ata do të jenë të dobishëm për ju.
Në këtë përmbledhje, ne do të shikojmë menutë me shumë nivele.
Lundrimi horizontal i sheshtë
Një shirit i bukur navigimi me një nënmenu që shfaqet pa probleme. Kodi është i strukturuar mirë, përdoret js. Duke gjykuar nga veçoritë e përdorura, funksionon në ie8+.
http://codepen.io/andytran/pen/kmAEy
Titulli i navigimit të materialit me pikat rënëse të rreshtuara
Shiriti i përgjegjshëm i lidhjeve me nënmenu me dy kolona. Gjithçka bëhet në css dhe html. Zgjedhës të aplikuar css3 të cilët nuk mbështeten në ie8.
http://codepen.io/colewaldrip/pen/KpRwgQ
Menyja rënëse e lëmuar e fizarmonikës
Menu vertikale elegante me elementë që hapen pa probleme. Tranzicioni i përdorur, transformo kodin js.
http://codepen.io/fainder/pen/AydHJ
Menuja e navigimit e pastër CSS Dark Inline
Shiriti i errët vertikal i navigimit me ikona jonike. aplikohet javascript. Në ie8 me shumë mundësi do të funksionojë pa animacion.
http://codepen.io/3lv3n_snip3r/pen/XbddOO
Menyja e pastër CSS3 Mega Dropdown me animacion
Meny elegante me dy formate daljeje: horizontale dhe vertikale. Përdoren ikona dhe animacion css3. Në ie8 patjetër do të duket e tmerrshme, por në shfletues të tjerë gjithçka është e lezetshme.
Lidhja me vertikale: http://codepen.io/rizky_k_r/full/sqcAn/
Lidhja me horizontale: http://codepen.io/rizky_k_r/pen/xFjqs
Menyja rënëse CSS3
Një menu horizontale me artikuj të mëdhenj dhe një listë rënëse lidhjesh. Kod i pastër dhe minimalist pa js.
http://codepen.io/ojbravo/pen/tIacg
Menyja rënëse e thjeshtë e pastër CSS
Menu e thjeshtë por me stil horizontal. Font-wesome është përdorur. Gjithçka funksionon në css dhe html, pa js. Do të funksionojë në ie8.
http://codepen.io/Responsive/pen/raNrEW
Bootstrap 3 mega-menu me dropdown
Zgjidhje e shkëlqyer për dyqanet online. Shfaq nivele të shumta kategorish dhe imazhesh të mëdha (siç janë artikujt e aksioneve). Ai bazohet në boostrap 3.
http://codepen.io/organizedchaos/full/rwlhd/
Lundrimi i sheshtë
Shirit lundrimi elegant me nënmeny të qetë. Në shfletuesit e vjetër do të shfaqet me probleme.
http://codepen.io/andytran/pen/YPvQQN
Navigacion 3D i mbivendosur
Menu horizontale me animacion shumë të lezetshëm pa js!
http://codepen.io/devilishalchemist/pen/wBGVor
Mega meny e përgjegjshme - Navigacion
Menuja horizontale e përgjegjshme. Duket mirë, por versioni celular është pak i çalë. Përdorur css, html dhe js.
http://codepen.io/samiralley/pen/xvFdc
Menyja e pastër CSS3
menu origjinale. Me kod të thjeshtë dhe të pastër pa js. Përdorni për efekte "wow".
http://codepen.io/Sonic/pen/xJagi
Menyja rënëse e plotë CSS3
Meny shumëngjyrësh rënëse me një nivel foleje. Përdoren ikona nga font-wesome, html dhe css.
http://codepen.io/daniesy/pen/pfxFi
Menyja rënëse vetëm për Css3
Menu mjaft e mirë horizontale me tre nivele foleje. Punon pa js.
http://codepen.io/riogrande/pen/ahBrb
Menytë rënëse
Menu minimaliste me efektin origjinal të shfaqjes së një liste të mbivendosur artikujsh. I kënaqur që kjo zgjidhje është gjithashtu pa javascript.
http://codepen.io/kkrueger/pen/qfoLa
Menyja rënëse e pastër CSS
Një zgjidhje primitive por efektive. Vetëm css dhe html.
http://codepen.io/andornagy/pen/xhiJH
Menyja tërheqëse - Koncepti i ndërveprimit të menysë
Një koncept interesant menuje për një telefon celular. Unë nuk e kam parë këtë ende. Përdoret html, css dhe javascript.
http://codepen.io/fbrz/pen/bNdMwZ
Bëni Menunë e Thjeshtë Dropdown
Kod i pastër dhe i thjeshtë, pa js. Do të funksionojë patjetër në ie8.
http://codepen.io/nyekrip/pen/pJoYgb
Shkarkim i pastër CSS
Zgjidhja nuk është e keqe, por përdoren shumë klasa. Më vjen mirë që nuk ka js.
http://codepen.io/jonathlee/pen/mJMzgR
Menyja e lëshimit
Menu e këndshme vertikale me kod minimal Javascript. jQuery nuk përdoret!
http://codepen.io/MeredithU/pen/GAinq
Menyja rënëse CSS 3
Një menu horizontale me titra shtesë mund të dekoroj mirë faqen tuaj. Kodi është i thjeshtë dhe i qartë. Javascript nuk është aplikuar.
http://codepen.io/ibeeback/pen/qdEZjR
Zgjidhje e bukur me shumë kode (html, css dhe js). Ka 3 formate të nënmenysë. Për dyqanet online, zgjidhja është e përshtatshme.
http://codepen.io/martinridgway/pen/KVdKQJ
Dropdowns menu CSS3 (zgjidhje speciale)!
Menu e errët horizontale me trembëdhjetë (13) opsione animacioni! Rekomandohet patjetër të lexoni, të dobishme në jetën e përditshme.
http://codepen.io/cmcg/pen/ofFiz
P.S.
Shpresoj se ju ka pëlqyer montimi i 23 zgjidhjeve. Nëse dëshironi të vazhdoni t'i lexoni, atëherë bëni anketën e mëposhtme.
E gjithë puna e këndshme.
1. Menu vertikale e gjallë jQuery
2. Efekt i ftohtë. Menu vallëzimi.
4. Lista rënëse duke përdorur jQuery
Stilim i shkëlqyeshëm i elementit të ndërfaqes në formën e një liste rënëse.
Kur vendosni miun mbi buton, një panel shfaqet nga lart.
6. Plugin jQuery "MobilyBlocks" për shfaqjen e një menuje rrethore
7. Menu duke përdorur sprites
Menuja e animuar Javascript me efekt shkëlqimi.
Menu e freskët e këndshme jQuery.
9. Menuja jQuery GarageDoor
10. Menyja Vertical Scrolling jQuery
Zbatimi i një menuje me një numër të madh artikujsh. Lëviz kur lëviz kursorin e miut lart ose poshtë.
11. Stilimi me zbritje jQuery
12. Shtojca për navigimin e faqeve
Lëvizje e qetë në seksionin e dëshiruar në faqe. Shtojca e navigimit jQuery me një faqe.
13. Shtojca e menysë së përmbajtjes së animuar
Shtojca e re jQuery. Zbatim i shkëlqyer i navigimit të animuar të faqes. Kur lundroni nëpër artikujt e menysë, shfaqet një bllok me një përshkrim dhe lidhje të mundshme, ndërsa në varësi të artikullit të zgjedhur, ndryshon sfondi i faqes, i cili shtrihet në ekran të plotë, pavarësisht nga madhësia e dritares së shfletuesit. Sigurohuni që të shikoni faqen demo.
14. Shtojca e menysë së ëmbël jQuery
Menu e animuar me artikuj në lëvizje.
15. Menyja jQuery e fiksuar
Kur lëvizni poshtë faqes, menyja mbetet e fiksuar në krye të ekranit.
16. Menytë e lëvizjes së kompletit rrëshqitës
Për të zbatuar një menu vertikale me një numër të madh artikujsh. Artikujt mund të lëvizen duke përdorur rrotën e miut ose duke përdorur lidhjet "Previos" dhe "Next".
17. Meny me stil CSS3
18. Menyja e re CSS3 e stilit Apple
Menu e re në stilin e Apple. Duket më e errët se më parë, por jo më pak e bukur.
19. Menuja origjinale e jQuery
Menyja rënëse me efekt sfondi. Nën-artikujt e menysë zgjerohen lart. Kur rri pezull mbi një artikull të menysë, imazhi i sfondit ndryshon.
20. Menyja e animuar jQuery
Menu e animuar. Artikujt e menysë paraqiten si ikona dhe përshkrime. disa efekte të shkëlqyera kur lëvizni miun mbi një artikull të menysë. Ofrohen 8 efekte, për t'i parë të gjitha, ndiqni lidhjet Exemple1-Exemple8 në faqen demo.
21. "Menyja lëvizëse" Menyja e lëvizjes XML
Menytë e lëvizjes vertikale dhe horizontale. Një zgjidhje e mirë për një numër të madh artikujsh në menu.
22. Menyja e kontekstit në faqen e internetit jQuery
Menuja shfaqet duke klikuar me të djathtën në një zonë të caktuar.
23. Meny rrethore me dy nivele për sitin
Kur zgjidhet një artikull i menysë, artikujt e nënmenysë shfaqen në të djathtë.
24. Menuja jQuery CSS3 me Efekt Blur "Menyja Blur" CSS3
Menuja origjinale e jQuery CSS3 vjen në 7 stile të ndryshme. Kur lëvizni kursorin e miut mbi një nga artikujt e menysë, pjesa tjetër duket se është e paqartë.
25. Disa meny spektakolare të animuara jQuery CSS3
10 menu kreative të animuara. Menutë horizontale dhe vertikale CSS3 me efekte dhe tranzicione të ndryshme.
Arkivi përmban gjithashtu skedarin origjinal të menusë PSD.
27. Menyja Magic Line
Sfondi ose nënvizimi i artikullit të menysë ndjek miun me një vonesë të vogël, ndërsa sfondi ndryshon ngjyrën e tij pa probleme ndërsa lëvizni nga artikulli në artikull. Efekt shumë i bukur, duket i pazakontë. Kujdes: efekti nuk funksionon në opera
28 Flluska imazhi
Efekt i shkëlqyeshëm kur rri pezull miun mbi një nga imazhet. Efekti të kujton disi jQDock, të përshkruar më sipër.
31. Menu interesante jQuery me efekte të ndryshme
Menu horizontale, vertikale. Efekte interesante.
32. Menu e shkëlqyer jQuery në stilin e Apple
34. Menuja jQuery me efekt interesant
36. Menu e freskët me efekt interesant jQuery
Një efekt shumë interesant. E përkryer për faqet e internetit të portofolit.
Një efekt interesant i miniaturave pop-up në lëvizje.
40. Lista rënëse me autoscrolling
Efekt i bukur tranzicioni midis artikujve.
42. Menu e shkëlqyer jQuery
43. Meny e bukur e madhe jQuery
44. Menytë jQuery të lëvizshme
Artikujt e menysë shfaqen si miniaturë.
46. Menyja e navigimit radial jQuery
47. Menytë CSS dhe jQuery
Një shirit navigimi me një kuti kërkimi që bëhet i tejdukshëm kur lëvizni poshtë faqes.
48. Menyja horizontale jQuery
49. Menuja vertikale jQuery
Menu e shkëlqyer vertikale. Kur rri pezull sipër, shfaqet një artikull i menysë.
50. Menyja horizontale jQuery
Efekt interesant kur rri pezull mbi një artikull të menysë.
52. Menyja rënëse jQuery
Kur lëvizni kursorin e miut mbi meny, artikujt e tij do të shfaqen. Artikujt që shfaqen shfaqen si një hark, rrezen e së cilës mund ta caktoni kur konfiguroni shtojcën. Në disa shfletues, ju nuk do të shihni ekranin e harkut, menyja do të shfaqet drejt, por gjithsesi nuk e prish përvojën e përgjithshme të zbatimit të menysë jQuery.
53. Shiriti i navigimit CSS dhe jQuery
Një efekt interesant kur rri pezull miun mbi një artikull të menysë.
54. Paneli kërcyes i jQuery
Menu e freskët e animuar në tonet gri.
58. Lundrimi i faqes me kolona me jQuery
Një zgjidhje interesante për lundrimin, e cila paraqitet në formën e vijave vertikale. Kur kaloni miun mbi këto shirita, shfaqet një imazh për artikullin dhe një listë e nënmenuve. Kur klikoni në një artikull të nënmenysë, shfaqet një faqe me një përshkrim. Ky zbatim është i përsosur për faqet promovuese ose prezantimet. Sigurohuni që të shikoni demonstrimin e shtojcave.
59. Navigimi i faqes jQuery
Navigimi i faqes paraqitet në formën e 4 fotografive, kur rri pezull mbi të cilat do të vëreni një efekt interesant të animuar.
60. Shiriti i navigimit rrotullohet me përmbajtje
Shiriti i navigimit. Duke klikuar mbi shigjetën lëviz faqja. Lundrimi lëviz së bashku me përmbajtjen e faqes.