Od autora: dobrodošli na naš blog o izgradnji sajtova. Ovo je serija članaka posvećenih novoj specifikaciji i danas bih vam htio reći kako napraviti meni 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 ni specifikacija nije tako nova – počela je da se formira još 2009. godine. Zapravo, od tada postoji konstantan razvoj – nove mogućnosti se pojavljuju u html5, savremeni pretraživači sve više podržavaju upravo te mogućnosti, tako da će se uskoro moći govoriti o punoj podršci za ovu tehnologiju, iako to nije nešto jedinstvena cjelina, radije, to je skup novih karakteristika, od kojih je svaka nezavisna.
Pa, dobro, koja je razlika između kreiranja glavne navigacije (menija), pošto čitate članak na ovu temu, onda bi svakako trebalo postojati neke razlike. Pa, kako je jelovnik kreiran prije? Obično su koristili listu za nabrajanje, koja je bila stavljena u dodatni kontejner za svu navigaciju - običan div.
Dakle, s pojavom novih oznaka, sada možete učiniti ispravnije - umjesto div oznake, umotajte meni u nav - novi semantički element koji je kreiran posebno da prikupi najvažnije veze u njemu, grupiše ih zajedno.
U navigaciju možete staviti i listu i samo skup linkova. Čini mi se da je ovo još jednostavnije i ispravnije rješenje, iako se u mnogim šablonima još uvijek može vidjeti implementacija menija pomoću oznaka ul, li, a.
Zanimljivo je da je navigacijski kontejner dizajniran posebno za prioritetne linkove na stranici. Zapravo, na stranici može biti više takvih kandidata, ali u njih treba postaviti samo one veze koje stvarno čine glavnu navigaciju (na primjer, gornji glavni meni i njegov duplikat u podnožju stranice).
Kako napraviti horizontalni meni sa html5
Ne trebate čak ni uokvirivanje na listi, sve će u početku biti prikazano u jednom redu, pošto su linkovi inline elementi.
Druga stvar je da su oni vrlo ograničeni u dizajnu zbog svojih inline svojstava. Možete raditi samo sa osobinama kao što su: boja, veličina fonta, margine. Ako želite da postavite određenu boju pozadine, napravite separatore i dodate unutrašnje uvlake (ili odredite veličinu svake stavke menija), onda to nećete moći da uradite sa linijom.
Ovdje moramo pretvoriti naše stavke u blok elemente. Da bi to učinili, moraju napisati svojstvo:
displej: blok; |
Sada idu odozgo prema dolje, odnosno naša navigacija je postala okomita. Da biste ga ponovo učinili horizontalnim, morate dodati određena svojstva. Na primjer, umjesto tipa bloka, definirajte blok-inline tip za njih ili ih postavite na (float: lijevo). Pročitajte više o ovim metodama.
Vertikalna navigacija
Obično, da bi napravili vertikalni meni u html5, koriste listu, ali oznaka koju sam vam dao iznad je u redu za nas. Kao što ste vidjeli, ako konvertujete 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 potrebna pravila dizajna. Postoji mnogo više svojstava na blokovima nego na inline elementu, tako da imate puno više opcija. Na primjer, dodao sam sljedeće:
a (dekoracija teksta: nema; boja: #fff; padding: 5px; veličina fonta: 22px; prikaz: blok; pozadina: linearni gradijent (nadesno, rgba (96,108,136,1) 0%, rgba (63,76,107) , 1) 100%); širina: 200px; poravnanje teksta: centar)
tekst - dekoracija: nema; boja: #fff; padding: 5px; font - veličina: 22px; displej: blok; pozadina: linearna - gradijent (desno, rgba (96, 108, 136, 1) 0%, rgba (63, 76, 107, 1) 100%); širina: 200px; tekst - poravnanje: centar |
U ovom tutorijalu ćemo kreirati horizontalni CSS meni... Naravno, možete koristiti gotova rješenja, na primjer, unajmiti programere za CMS Made Simple. Ipak, ne tražite lake puteve, zar ne? : bully:
Korak 1 - HTML markiranje
Prvo, moramo kreirati stavke liste sa oznakom za svaku stavku u našem horizontalnom meniju. Da kreirate podmeni, morate dodati još jednu podređenu listu unutar nadređenog.
Korak 2 - Kreiranje CSS stilova za Horizontalni meni
U početku, meni izgleda okomito, da bismo to popravili, napisat ćemo neke stilove, urediti uvlake, ivice, boju pozadine i zaokružiti uglove. Napravićemo fiksnu širinu i visinu. Uradimo poravnanje stavki menija ulijevo pomoću float: lijevo (tako da navigacija dobije horizontalnu strukturu).
Meni, .menu ul, .menu li, .menu a (margina: 0; padding: 0; granica: nema; obris: nema;) .menu (visina: 40px; širina: 505px; pozadina: # 4c4e5a; pozadina: - webkit-linear-gradient (vrh, # 5c5e6a 0%, # 3c3d44 100%); pozadina: -moz-linear-gradient (vrh, # 5c5e6a 0%, # 3c3d44 100%); pozadina: -o-linear-gradient ( vrh, # 5c5e6a 0%, # 3c3d44 100%); pozadina: -ms-linearni gradijent (vrh, # 5c5e6a 0%, # 3c3d44 100%); pozadina: linearni gradijent (vrh, # 5c5e6a 0%, # 3c3d44 100%); -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px;) .menu li (pozicija: relativna; stil liste: nijedan; float: lijevo; prikaz: blok ; visina: 40px;)
Napišimo sljedeći stil neko vrijeme, skrivajući padajuću listu. Ovo će olakšati uređivanje.
Korak 3 - Stilizirajte meni Link
Zatim ćemo napisati stilove koji dodaju neka osnovna svojstva CSS-a kao što su tip fonta, boje, padding itd. Zatim dodajte senke za tekst i prelaze boja da biste stvorili glatki efekat gde se boja ne menja trenutno, već u određenom intervalu. Da biste kreirali separator veze, dodajte obrub lijevo i desno, a zatim uklonite lijevu ivicu u prvoj vezi i desnu ivicu u posljednjoj vezi. Kada zadržite pokazivač iznad menija, samo će se boja promijeniti.
Meni li a (prikaz: blok; padding: 0 14px; margina: 6px 0; visina linije: 28px; dekoracija teksta: nema; granica lijevo: 1px čvrsta # 494942; granica desno: 1px čvrsta # 4f5058; font- porodica: 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- izlaz; prijelaz: boja .3s lakoća ulaska;) .meni li: prvo dijete a (border-lijevo: nema;) .meni li: posljednje dijete a (border-desno: nema;) .meni li: hover> a (boja: # 9fde63;)
Korak 4 - Padajući meni
Prije svega, uklonimo ovu liniju koda koju smo dodali u drugom koraku.
Meni ul (prikaz: nema;)
Sada ćemo urediti stil za podmeni. Dodajte pozicioniranje od 40px na vrh i 0px lijevo od stavke menija i dodajte zaobljene uglove na dno. Postavite prozirnost na nulu, a pri lebdenju je promijenite na 1 da biste stvorili efekat bledenja. Za efekat slajda gore/dole, potrebno je da postavimo visinu liste na 0px kada je padajući meni sakriven i 36px kada pređemo preko padajućeg menija.
Meni ul (položaj: 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-transition: neprozirnost .3s lakoća .1s; -ms-transition: neprozirnost. 3s ease .1s; prijelaz: neprozirnost .3s ease .1s;) .menu li: hover> ul (neprozirnost: 1;) .menu ul li (visina: 0; prelijevanje: skriveno; 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; prelivanje: vidljivo; padding: 0;)
Postavite širinu padajućeg menija na koji se može kliknuti na 100px. Dodao sam obrub nakon svake veze da ih odvojim. Uklonimo ivicu na zadnjem linku.
Menu ul li a (širina: 100px; padding: 4px 0 4px 40px; margina: 0; granica: nema; border-bottom: 1px solid # 464649;) .menu ul li: last-child a (bord: none;)
Da bismo završili horizontalni CSS meni, moramo dodati ikonu za svaki padajući podmeni. Da bismo to uradili, kreiraćemo prilagođenu klasu za svaki od podmenija i dodati pozadinsku sliku.
Oglas menija (pozadina: url (docs.png) bez ponavljanja 6px centar;) .menu am (pozadina: url (bubble.png) bez ponavljanja 6px centar;) .meni kao (pozadina: url (arrow.png) ne -ponovi 6px centar;)
Zaključak
Uspješno smo kreirali padajući horizontalni meni sa i bez CSS3 stilova, iako je i to bilo moguće. Ako imate bilo kakvih pitanja, javite mi u komentarima.
(Preuzimanja: 395)
Specifikacija
Opis
Tag