Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • savjetovati
  • Kako napraviti horizontalni css izbornik. Promjena izbornika u vertikalni

Kako napraviti horizontalni css izbornik. Promjena izbornika u vertikalni

Od autora: Dobrodošli na naš blog za izradu web stranica. Ovo je serija članaka posvećena novoj specifikaciji, a danas bih vam želio reći kako napraviti izbornik u html5 i po čemu se ovaj proces razlikuje od istog u prethodnim verzijama jezika.

Koje su razlike

Prije svega, želio bih reći da specifikacija nije tako nova - počela se formirati još 2009. godine. Zapravo, od tada se stalno razvija - pojavljuju se nove značajke u html5, moderni preglednici sve više podržavaju upravo te značajke, tako da uskoro možemo govoriti o punoj podršci ove tehnologije, iako to nije nešto unificirano, već skup novih značajki, od kojih je svaka neovisna.

Pa, koja je razlika između kreiranja glavne navigacije (izbornika), budući da čitate članak na ovu temu, onda svakako mora postojati neke razlike. Pa, kako je prije nastajao jelovnik? Obično se za to koristio popis s grafičkim oznakama, koji se stavljao u dodatni spremnik za svu navigaciju - obični div.

Dakle, s pojavom novih oznaka, sada to možete učiniti ispravnije - umjesto div oznake, zamotajte izbornik u nav - novi semantički element koji je stvoren posebno da prikupi najvažnije poveznice u njega, grupirajte ih zajedno.

Možete staviti i popis i samo skup veza u navigaciju. Čini mi se da je ovo još jednostavnije i ispravnije rješenje, iako se u mnogim predlošcima još uvijek može vidjeti implementacija izbornika pomoću oznaka ul, li, a.

Zanimljivo je da je navigacijski spremnik dizajniran posebno za prioritetne veze na stranici. Zapravo, na stranici može biti više od jednog takvog spremnika, ali samo one poveznice koje stvarno čine glavnu navigaciju (na primjer, gornji glavni izbornik i njegov duplikat u podnožju stranice) trebaju biti postavljene u njih.

Kako napraviti horizontalni izbornik koristeći html5

Ne trebate čak ni okvir na popisu, sve će u početku biti prikazano u jednom retku, budući da su veze inline elementi.

Druga stvar je da su vrlo ograničeni u dizajnu zbog svojih inline svojstava. Moći ćete raditi samo s takvim svojstvima kao što su: boja, veličina fonta, margine. Ako želite postaviti određenu boju pozadine, napraviti separatore i dodati dopunu (ili odrediti veličinu svake stavke izbornika), to neće funkcionirati sa nizom.

Ovdje ćemo morati pretvoriti naše stavke u blok elemente. Da bi to učinili, trebaju napisati svojstvo:

prikaz : blok ;

Sada idu odozgo prema dolje, odnosno naša navigacija je postala okomita. Da biste ga vratili u horizontalni, morate dodati određena svojstva. Na primjer, umjesto tipa bloka, definirajte za njih tip bloka bloka ili ih postavite na (float: lijevo). Pročitajte više o ovim metodama.

Vertikalna navigacija

Obično se za izradu okomitog izbornika u html5 koristi lista, ali nam je također dobra oznaka koju sam vam dao gore. Kao što ste vidjeli, ako pretvorite veze u blok veze, one će se automatski nizati jedna za drugom od vrha do dna, jer dva bloka ne mogu stajati na istoj liniji.

Sada na njih možete primijeniti željena pravila dizajna. Blokovi imaju mnogo više svojstava od inline elemenata, tako da imate puno više opcija. Na primjer, dodao sam ove:

a( dekoracija teksta: nema; boja: #fff; padding: 5px; veličina fonta: 22px; prikaz: blok; pozadina: linearni gradijent(desno, rgba(96,108,136,1) 0%,rgba(63,76,107) ,1) 100%); širina: 200px; poravnanje teksta: središte )

tekst - ukras : nema ;

boja : #fff;

padding: 5px

veličina fonta: 22px;

prikaz : blok ;

pozadina: linearni gradijent (desno, rgba (96, 108, 136, 1) 0 %, rgba (63, 76, 107, 1) 100 %);

širina: 200px

tekst - poravnaj : središte

U ovom vodiču ćemo kreirati horizontalni css izbornik. Naravno, možete koristiti gotova rješenja, na primjer, unajmiti programere za CMS Made Simple. Ipak, ne tražite lake načine, zar ne? :zlostavljati:

Korak 1 - HTML označavanje

Prvo moramo stvoriti stavke popisa s oznakom za svaku stavku u našem horizontalnom izborniku. Da biste stvorili podizbornik, morate dodati još jedan podizbornik unutar roditeljskog.

Korak 2 — Izrada CSS stilova za Horizontalni izbornik

U početku izbornik izgleda okomito, da bismo to popravili, napisat ćemo neke stilove, urediti uvlake, obrube, boju pozadine, zaokružiti kutove. Popravimo širinu i visinu. Poravnajte stavke izbornika ulijevo pomoću float: lijevo (tako da navigacija dobije horizontalnu strukturu).

Izbornik, .menu ul, .menu li, .menu a ( margina: 0; padding: 0; obrub: nijedan; obris: nijedan; ) .menu (visina: 40px; širina: 505px; pozadina: #4c4e5a; pozadina: - webkit-linear-gradient(vrh, #5c5e6a 0%,#3c3d44 100%); pozadina: -moz-linear-gradient(top, #5c5e6a 0%,#3c3d44 100%); pozadina: -o-linear-gradient( vrh, #5c5e6a 0%,#3c3d44 100%); pozadina: -ms-linear-gradient(top, #5c5e6a 0%,#3c3d44 100%); 100%); -webkit-border-radius: 4px; -moz -border-radius: 4px; border-radius: 4px; ) .menu li (pozicija: relativna; stil liste: nema; float: lijevo; prikaz: blok ; visina: 40px; )

Napišimo neko vrijeme sljedeći stil, koji skriva padajući popis. To će olakšati uređivanje.

Korak 3 - Stil izbornika veze

Zatim pišemo stilove koji dodaju neka osnovna svojstva CSS-a kao što su vrsta fonta, boje, padding i tako dalje. Zatim ćemo dodati sjenu za tekst i prijelaze boja kako bismo stvorili glatki efekt gdje se boja ne mijenja odmah, već u nekom intervalu. Za izradu separatora poveznica, dodajmo obrub s lijeve i desne strane, a zatim uklonimo lijevi obrub na prvoj poveznici i desni obrub na posljednjoj poveznici. Kada zadržite pokazivač iznad izbornika, promijenit će se samo boja.

Izbornik li a ( prikaz: blok; padding: 0 14px; margina: 6px 0; visina linije: 28px; dekoracija teksta: nema; obrub lijevo: 1px čvrst #494942; rub desno: 1px čvrst #4f5058; font- obitelj: Helvetica, Arial, sans-serif; težina fonta: bold; veličina fonta: 13px; boja: #f4f4f4; sjena teksta: 1px 1px 1px rgba(0,0,0,.6); -webkit-transition : boja .3s lakoća ulaska; -moz-prijelaz: boja .3s lakoća ulaska; -o-prijelaz: boja .3s lakoća ulaska; -ms-prijelaz: boja .3s lakoća ulaska- van; prijelaz: boja .3s jednostavnog ulaska; ) .izbornik li:prvo dijete a (obrub-lijevo: nema;) .izbornik li:posljednje-dijete a(obrub-desno: nema; ) .izbornik li: lebdjeti > a ( boja: #9fde63; )

Korak 4 - padajući izbornik

Prije svega, uklonimo ovaj redak koda koji smo dodali u drugom koraku.

Izbornik ul (prikaz: nema;)

Sada ćemo urediti stil za podizbornik. Postavimo podizbornik 40px od vrha i 0px lijevo od stavke izbornika i dodajmo zaobljene kutove na dno. Postavite neprozirnost na nulu i pri lebdenju je promijenite na 1 kako biste stvorili efekt zatamnjenja. Za efekt klizanja gore/dolje, moramo postaviti visinu popisa na 0px kada je padajući izbornik skriven i 36px kada zadržite pokazivač iznad padajućeg izbornika.

Izbornik ul ( pozicija: apsolutna; vrh: 40px; lijevo: 0; neprozirnost: 0; pozadina: #2f3035; -webkit-border-radius: 0 0 4px 4px; -moz-border-radius: 0 0 4px 4px; border- radijus: 0 0 4px 4px; -webkit-transition: neprozirnost .3s lakoća .1s; -moz-transition: neprozirnost .3s lakoća .1s; -o-prijelaz: neprozirnost .3s lakoća .1s; -ms-prijelaz: neprozirnost . 3s ease .1s; prijelaz: neprozirnost .3s ease .1s; ) .menu li:hover > ul (prozirnost: 1; ) .menu ul li (visina: 0; preljev: skriven; padding: 0; -webkit-transition: visina .3s lakoća .1s; -moz-prijelaz: visina .3s lakoća .1s; -o-prijelaz: visina .3s lakoća .1s; -ms-prijelaz: visina .3s lakoća .1s; prijelaz: visina .3s lakoća . 1s; ) .menu li:hover > ul li (visina: 36px; prelijevanje: vidljivo; padding: 0; )

Postavite širinu padajućeg izbornika koji se može kliknuti na 100px. Dodao sam obrub nakon svake veze da ih odvojim. Obrub na posljednjoj poveznici bit će uklonjen.

Izbornik ul li a ( širina: 100px; padding: 4px 0 4px 40px; margina: 0; obrub: nema; obrub-dno: 1px solid #464649; ) .menu ul li:last-child a ( granica: nema; )

Da biste dovršili horizontalni CSS izbornik, morate dodati ikonu za svaki padajući podizbornik. Da bismo to učinili, kreirat ćemo vlastitu klasu za svaki od podizbornika i dodati pozadinsku sliku.

Izbornik a.d (pozadina: url(docs.png) bez ponavljanja 6px centar; ) .izbornik a.m (pozadina: url(bubble.png) bez ponavljanja 6px centar; ) .izbornik a.s (pozadina: url(arrow.png) ne -ponovi 6px središte;)

Zaključak

Uspješno smo kreirali horizontalni padajući izbornik sa i bez CSS3 stila, iako je i to bilo moguće. Ako imate bilo kakvih pitanja, javite mi o tome u komentarima.

(preuzimanja: 395)

Specifikacija

Opis

Označiti

je dizajniran za prikaz popisa stavki izbornika. Slično oznakama
    i
      unutar kontejnera popis se formira pomoću oznaka
    • .

      U HTML4 oznaci

      izvan upotrebe, preporuča se umjesto toga koristiti oznaku
        . HTML5 oznaka ponovno omogućen, ali u drugom svojstvu. Sada djeluje kao spremnik za oznaku i kreiranje izbornika.

        Sintaksa

        HTML
      • stavku izbornika
      • stavku izbornika
      • HTML5 ...

        Atributi

        Postavlja vidljivu oznaku za izbornik. Određuje vrstu izbornika.

        Završna oznaka

        Potreban.

        Validacija

        Korištenje ove oznake zabranjuje HTML4 specifikacija, valjani se kod dobiva samo kada se koristi prijelazni. U HTML5, korištenje oznake

        ispravno.

        HTML 4.01 IE Cr Op Sa Fx

        Oznaka MENU

        U ovom izdanju:

      • ruska kuhinja. Uho burlatskaya
      • ukrajinska hrana. Vareniki
      • Moldavska kuhinja. Paprikaš
      • Kavkaska kuhinja. Juha kharcho
      • Baltička kuhinja. Vertiniai
      • Rezultat ovog primjera prikazan je na sl. jedan.

        Riža. 1. Prikaz popisa stvorenog pomoću oznake

        HTML5 IE Cr Op Sa Fx

        Oznaka MENU

      • Zadatak centriranja vodoravnog izbornika može biti težak, posebno za one koji su novi u CSS-u. Potraga za rješenjima dovodi do vrlo ograničenog popisa metoda, od kojih se većina oslanja na CSS trikove, JavaScript ili korištenje nestandardnih pravila koja nisu podržana od strane svih preglednika. U ovom vodiču ćemo pogledati horizontalnu metodu centriranja izbornika koja koristi samo standardna CSS pravila i radi u svim preglednicima.

        Primjer centriranog izbornika

        Ispod je horizontalni izbornik u sredini ovog stupca, u kojem je aktivirana druga kartica. Možete pokušati promijeniti veličinu prozora ili stranice preglednika kako biste bili sigurni da je izbornik uvijek u sredini i funkcionalan.

        Na demo stranici možete vidjeti nekoliko opcija dizajna za vodoravno centriran izbornik. Bilo koji od njih može se koristiti u vašim projektima.

        HTML oznaka

        Svi izbornici, čiji su primjeri dati u ovoj lekciji, koriste jednostavnu strukturu. To je samo neuređeni popis veza umotanih u element. razd.

        • Prva oznaka
        • Druga oznaka
        • Treća oznaka
        • Četvrta oznaka

        CSS kod središnjeg izbornika

        Ispod je kompletan CSS kod koji centrira izbornik. A objašnjenja principa rada data su kasnije u lekciji.

        #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; margin:0; padding:0; position:relative; left:50%; text-align:center; ) #centeredmenu ul li ( display:block; float:left; list-style:none; margin:0; padding:0; position:relative; right:50%; ) #centeredmenu ul li a ( display:block; margin:0 0 0 1px; padding:3px 10px; background:#ddd; boja:#000; text-decoration: none; line-height:1.3em; ) #centeredmenu ul li a:hover ( background:#369; color:#fff; ) #centeredmenu ul li a.active, #centeredmenu ul li a.active:hover ( boja:# fff; background:#000; font-weight:bold;)

        Kako funkcionira metoda centriranja

        Djelovanje metode temelji se na relativnom pozicioniranju plutajućih blok elemenata jedan unutar drugog. Prvo, pogledajmo kako se veličina elemenata mijenja kada se pomakne.

        Element razd(blok) bez pomaka proteže se do cijele širine koja mu je dostupna.

        Ali ako pomaknemo element div ulijevo, on će se automatski smanjiti na veličinu svog sadržaja. Kompresija je ključna za implementaciju ove metode centriranja izbornika. Pomaže pomicanje izbornika na ispravan položaj.

        Standardni lijevo poravnat izbornik

        Uzmimo standardni lijevo poravnat izbornik i redizajnirajmo ga korak po korak. Radi preglednosti artikli su obojeni u različite boje, pa je odmah jasno što je gdje uloženo.

        Obratite pažnju na sljedeće točke:

        • Element centrirani izbornik div(plavi pravokutnik) je pomaknut ulijevo, ali ima širinu od 100%, tako da ostaje rastegnut da stane na cijelu stranicu.
        • Element ul(ružičasti pravokutnik) je unutar elementa središnji izbornik razd i pomiče se ulijevo. To znači da će se smanjiti na širinu svog sadržaja, odnosno na ukupnu širinu svih oznaka.
        • Svi li elementi (zeleni pravokutnici) nalaze se unutar elementa ul i pomaknite se ulijevo. Tako se smanjuju na veličinu karika u njima i poredaju se u jednu vodoravnu liniju.
        • Unutar svake veze (narančasti pravokutnici) prikazuje se tekst oznake: Oznaka 1, Oznaka 2 itd.

        Pomicanje pozicije neuređenog popisa


        Zatim pomičemo element ul desno za 50% s položajem:relativna nekretnina; . Kada je element pod ovim uvjetima pomaknut za postotak, važno je zapamtiti da ukupna širina elemenata koje sadrži nije njegova širina. U našem slučaju, pomak je polovica prozora preglednika (ili prostora dostupnog za prikaz). Kao rezultat toga, naš izbornik počinje u sredini prozora i djelomično se proteže izvan njega. I prelazimo na sljedeći korak.

        Pomaknite položaj svih stavki izbornika


        Ostaje samo premjestiti sve elemente li lijevo za 50%. Ovo je 50% širine našeg elementa ul (spremnika koji sadrži izbornik). Tako su jezičci pomaknuti točno u središte prozora.

        Nekoliko važnih napomena

        Postoji nekoliko važnih stvari koje treba imati na umu kada koristite ovu metodu centriranja:

        • Budući da je element ul djelomično izlazi izvan prozora, to dovodi do prikaza traka za pomicanje. Stoga morate koristiti pravilo overflow:hidden; za element centrirani izbornik div. Dakle, izbočeni dio elementa razd bit će odsječen.
        • Budući da je element ul nije poravnat karticama, ne možete koristiti nikakve vizualne stilove za njega. Ostavite element ul bez boje pozadine i obruba kako bi bio potpuno nevidljiv. A stilovi za oznake trebaju se koristiti samo za elemente li.
        • Ako trebate postaviti posebne stilove za prvu i posljednju karticu, morate dodati klasu za prvi i zadnji element li tako da ih možete stilizirati pojedinačno.

        Zaključak

        Predloženo rješenje kompatibilno je sa svim preglednicima, ne koristi JavaScript i podržava tekst koji se može promijeniti.

        Od autora: Pozdravljam sve. Iz nekog razloga, webmasteri povezuju padajući izbornik sa skriptama, ali već duže vrijeme takva se navigacija može učiniti apsolutno sigurno na čistom css-u. I takav jelovnik neće biti ništa lošiji. Danas ću vam pokazati kako napraviti padajući izbornik u css-u. Da podijelim recept.

        Plan lekcije i izgled našeg jelovnika

        Općenito, prvo ćemo odlučiti kako ćemo kreirati sam jelovnik. U html5, standardni način je stvoriti ga u navigacijskom spremniku pomoću popisa s grafičkim oznakama. Učinimo upravo to. Oznake ćemo kasnije ukloniti pomoću css-a, uopće nam ne trebaju u izborniku.

        Zapravo, odmah ću napisati u html oznaci s ugniježđenim listama. Odnosno, naš popis će biti na dvije razine - sadržavat će druge popise. Naime, za svaku stavku 1 lista, koja će formirati padajući izbornik.

        Ovdje postoji važna točka, a to je da možda nećete morati napraviti padajući izbornik za svaku stavku, već samo neke. Nema problema, tada jednostavno ne stvaramo ugniježđene popise u odlomcima bez ispadanja.

        Zapravo, evo ga, cijela oznaka:

        < nav id = "nav" >

        < ul >

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

        < ul class = "second" >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < / ul >

        < / li >

        < li > < a href = "#" >Točka 2< / a >

        < ul class = "second" >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < / ul >

        < / li >

        < li > < a href = "#" >Točka 3< / a >

        < ul class = "second" >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < / ul >

        < / li >

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

        < ul class = "second" >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < li > < a href = "#" >podstav< / a > < / li >

        < / ul >

        < / li >

        < / ul >

        < / nav >

        Razumijem da je ogroman. To je problem s ugniježđenim listama, što morate napisati puno koda. Ali uzmite u obzir činjenicu da radimo 4 glavne stavke i za svaku će postojati padajući izbornik.

        Zapravo, cijeloj sam navigaciji dao navigacijski ID, a svi ugniježđeni popisi drugu klasu stila da bismo razumjeli da su ugniježđeni.

        Super, oznaka je spremna, možete vidjeti rezultat:

        Da, izgleda užasno. Ali sada ćemo uključiti css u rad i za nekoliko minuta naša navigacija će se promijeniti. Idemo raditi.

        Pisanje css stilova

        Prvo što ću učiniti je resetirati sav padding na zadano za sve elemente. Oni će nas samo ometati, bolje je kasnije sami postaviti uvlake, gdje je potrebno.

        *( margina: 0; dopuna: 0; )

        margina: 0

        dopuna: 0

        #nav(visina: 70px; ) #nav ul(list-style: none;)

        #nav(

        visina: 70px

        #navul(

        stil liste: nema;

        Sada zapravo trebamo odlučiti kakav će biti naš jelovnik. Horizontalno ili okomito? Predlažem da prvo napravite horizontalni i sve vidite na njegovom primjeru. Da biste to učinili, morate napisati sljedeće stilove:

        #nav > ul > li( float: lijevo; širina: 180px; položaj: relativna; )

        #nav > ul > li(

        plutati : lijevo ;

        širina: 180px

        položaj : relativan ;

        Imajte na umu da znakom > upućujemo na stavke popisa koje su izravno ugniježđene u ul, što je izravno ugniježđeno u nav. Ovo je vrlo važno jer vam omogućuje da ne primjenjujete stil na ugniježđene stavke popisa. Činjenica je da će, prema mojoj zamisli, stavke u glavnom popisu biti raspoređene vodoravno, a u ugniježđenim - okomito.

        Ali, naravno, možete to učiniti drugačije, u skladu sa svojom idejom. Možete osigurati da su sve stavke u jednom retku.

        U svakom slučaju, gornji kod, nadam se da razumijete. To prisiljava stavke glavnog popisa da se smjeste ulijevo tako da sve stanu u isti redak, iako su elementi na razini bloka. Također sam im dao eksplicitnu širinu i relativno pozicioniranje.

        Čemu služi pozicioniranje? To je potrebno kako bi se kasnije apsolutno pozicionirale ugniježđene liste. Ako ste proučavali pozicioniranje u css-u, onda vjerojatno znate da ako postavite relativno pozicioniranje na blok, onda se svi elementi u njemu mogu pozicionirati apsolutno unutar ovog bloka, a ne cijelog prozora preglednika.

        U međuvremenu, evo što imamo do sada:

        Iz ove snimke zaslona već možete zamisliti približan rezultat. Naravno, još uvijek moramo lijepo stilizirati točke kako oči ne bi molile za milost pri gledanju navigacije.

        #nav li a( zaslon: blok; pozadina: #90DA93; obrub: 1px čvrsta #060A13; boja: #060A13; padding: 8px; text-align: centar; text-decoration: nema; ) #nav li a:hover( pozadina: #2F718E;)

        #nav li a(

        prikaz : blok ;

        pozadina : #90DA93;

        obrub : 1px čvrsta #060A13;

        boja : #060A13;

        padding: 8px

        tekst - poravnaj : središte ;

        tekst - ukras : nema ;

        #nav li a:hover(

        pozadina : #2F718E;

        Prvo, same veze moraju biti blokirane. To je potrebno kako bi padding funkcionirao i kako bi se sva svojstva ispravno primijenila. Zatim određujem boje pozadine, teksta, opcije okvira, uvlake i poravnanje teksta u sredini. Na kraju uklanjam podcrtavanje veza.

        Svi ovi parametri ne moraju biti napisani kao ja. Boje možete birati proizvoljno, napraviti drugačiji okvir ili ga uopće ne koristiti, uvlake se mogu smanjiti ili povećati.

        Imajte na umu da u ovom slučaju nismo koristili znak >, pa će se ova pravila primjenjivati ​​na sve veze, uključujući one u ugniježđenim odlomcima. Dakle, sada imamo sljedeće:

        Sjajno, ali shvaćate da podstavke ne bi trebale biti vidljive, one bi se trebale otkriti kada pređete mišem iznad željene stavke. Bez toga naš jelovnik izgleda kao stol. Pa, vrijeme je da sakrijete ugniježđene stavke.

        #nav li .second( prikaz: nema; položaj: apsolutni; vrh: 100%; )

        #nav li .second(

        prikaz : nema ;

        pozicija : apsolutna ;

        vrh : 100% ;

        Prvo, skrivamo potpuno ugniježđene liste. Drugo, dajemo im apsolutno pozicioniranje i koordinatni vrh: 100%. To znači da će padajući izbornik biti jasno prikazan ispod glavne stavke kojoj pripada, jasno ispod 100% visine te stavke.

        Sada vidimo samo glavni izbornik na web stranici, što nam je potrebno.

        Provedba odustajanja

        Ostaje nam da učinimo ono najvažnije – implementirati sam ispadanje. U tome nema ništa komplicirano, pogledajte ovaj kod:

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

        #nav li:hover .second(

        prikaz : blok ;

        Ovaj kod će raditi besprijekorno. Kada zadržite pokazivač iznad stavke glavnog izbornika, ugniježđeni popis će postati vidljiv. I samo popis koji je ugniježđen u stavku na kojoj se kursor lebdi.

        Postoji samo jedan manji problem - širina ugniježđenih stavki ne odgovara širini glavnih. Ali to se vrlo lako rješava dodavanjem odgovarajućih stilova:

        #nav li li( širina: 180px; )

        #nav li li(

        širina: 180px

        To je to, problem riješen:

        Sve radi savršeno. Kada zadržite pokazivač iznad glavne stavke, pojavljuje se odgovarajući padajući izbornik. Ako pomaknete kursor u stranu, on nestaje. Ako pomaknete pokazivač na same ugniježđene stavke, možete kliknuti na njih i otići na željeni odjeljak web-mjesta. Tako smo napravili vrlo jednostavan i lagan padajući izbornik bez apsolutno nikakvih skripti.

        Promjena izbornika u vertikalni

        Pa, horizontalnu navigaciju smo u potpunosti shvatili, ali osim nje, okomita navigacija je vrlo česta na stranicama, a može biti i padajuće. Zapravo, mijenjanje izbornika iz horizontalnog u okomito je vrlo jednostavno, morat ćemo promijeniti samo nekoliko redaka koda.

        Prvo ćete morati ukloniti float:left sa stavki glavnog popisa. Upravo to svojstvo pridonosi činjenici da su naše stavke prikazane u jednom retku, ali zašto nam to treba ako navigacija treba biti okomita?

        Sada ostaje promijeniti pravila za #nav li .second selektor, odnosno za ugniježđene liste, naime, potrebno ih je malo drugačije pozicionirati. Kao ovo:

        #nav li .second( prikaz: nema; pozicija: apsolutna; lijevo: 100%; gore: 0; )

        #nav li .second(

        prikaz : nema ;

        pozicija : apsolutna ;

        lijevo: 100%

        vrh : 0 ;

        Odnosno, potrebno je registrirati dvije koordinate umjesto jedne. Prvo, u slučaju horizontalne navigacije, rekao sam da, kako je planirano, stavke podizbornika trebaju biti prikazane ispod glavnih stavki. U slučaju okomitog izbornika, to nije prikladno - stavke bi trebale biti prikazane sa strane.

        Dakle mijenjamo vrh: 100% lijevo: 100%. Osim toga, potrebna nam je i gornja koordinata. Postavite ga na 0 tako da podizbornik bude na istoj razini kao i stavka kojoj odgovara.

        Sve, sad sve radi kako treba. Možete testirati. Kao što vidite, nisam lagao kada sam rekao da ću morati prepisati samo nekoliko redaka koda.

        Horizontalni izbornik s više razina

        Koristeći isti pristup, možete stvoriti više razina izbornika ako je potrebno. Na primjer, napravimo popis za četvrtu stavku glavnog izbornika, koja će biti ugniježđena u jednoj od podstavaka.

Vrhunski povezani članci