Ren CSS Meny med utan att använda Javascript
Detta är en handledning om hur man skapar ren CSS Drop down meny utan att använda javascript. Jag märkte dock att människor ofta använder JavaScript för att uppnå denna effekt. Egentligen finns det ett enkelt sätt att göra det bara med CSS.
Här är exempel
Steg först: vi skapar en grundläggande HTML struktur.
> <h1> Developer's Paradise demos </h1> <ul id = "menu" > <li> <span> Home </span> <ul> <li> <a href = "#" > Menu item 1 </a> </li> <li> <a href = "#" > Menu item 2 </a> </li> <li> <a href = "#" > Menu item 3 </a> </li> </ul> </li> <li> <span> About Us </span> <ul> <li> <a href = "#" > Menu item 1 </a> </li> <li> <a href = "#" > Menu item 2 </a> </li> <li> <a href = "#" > Menu item 3 </a> </li> </ul> </li> <li> <span> Products </span> <ul> <li> <a href = "#" > Menu item 1 </a> </li> <li> <a href = "#" > Menu item 2 </a> </li> <li> <a href = "#" > Menu item 3 </a> </li> </ul> </li> </ul> </div> <Div id = "header"> <h1> Developer's Paradise demos </ h1> <ul id = "Meny"> <li> <span> Hem </ span> <ul> <li> <a href = "#" > Menyalternativ 1 </ a> </ li> <li> <a href = "#"> menyrad 2 </ a> </ li> <li> <a href = "#"> Menyalternativ 3 </ a> </ li> </ ul> </ li> <li> <span> Om oss </ span> <ul> <li> <a href = "#"> Menyrad 1 </ a> </ li > <li> <a href = "#"> menyrad 2 </ a> </ li> <li> <a href = "#"> Menyalternativ 3 </ a> </ li> </ ul> < / li> <li> <span> Produkter </ span> <ul> <li> <a href = "#"> Menyrad 1 </ a> </ li> <li> <a href = "#"> Menyalternativ 2 </ a> </ li> <li> <a href = "#"> Menyalternativ 3 </ a> </ li> </ ul> </ li> </ ul> </ div>
Steg andra: nu skapar vi magi CSS-koden
; padding : 0 ; } * {Margin: 0; padding: 0;} body { ; Bakgrund: # 222; Arial, Helvetica, sans-serif ; font: 100% normal Arial, Helvetica, sans-serif; } : #fff ; } h1 {color: # fff;} # Header { ; höjd: 120px; position: relative; ; Bakgrund: # 333; } # Meny { margin: 0px; padding: 0px; position: absolute; ; top: 70px; display: block; } # Menyn> li { list-style-type: none; float: left; display: block; ; margin: 0px 10px; position: relative; padding: 10px; bredd: 100px; } ul { # Menyn> li: hover ul { display: block; } { # Menyn> li: hover { ; background-color: # 808080; -Moz-border-radius: 10px; -Webkit-border-radius: 10px; } # Meny li ul { margin: 0px; padding: 0px; display: none; } # Meny li ul li { list-style-type: none; ; margin: 10px 0 0 0; font-size: 11px; } # Meny li ul li a { display: block; ; padding: 10px 5px; ; färg: # fff; text-decoration: none; font-weight: bold; } a { # Meny li ul li: hover {ett ; background-color: # 606060; -Moz-border-radius: 5px; -Webkit-border-radius: 5px; } # Meny li span { cursor: pointer; ; margin: 0px 10px; font-weight: bold; ; font-size : 11px ; färg: # FFF, font-size: 11px; }
Observera att denna kod inte fungerar i IE6 (denna stackars webbläsare vet bara inte vad ul> li medel).
Jag skulle vara tacksam om du kunde ta en andra för att främja min blogg och dela den här länken med någon av dina gynnade nätverkssajter via länken nedan. Här är en länk till vår bästa sida om du vill registrera ett domännamn .
Relaterade artiklar:
Om du gillade att läsa den här artikeln, kan du kolla in andra relaterade artiklarna nedan:























































Laura säger den: 18 sep 2009 kl 17:35 Said:
Egentligen kan du få det att fungera i IE6 om du inte har något emot att lägga lite av js / jQuery och en annan klass.
$ (This) addClass ("sväva").
},
function () {
$ (This) removeClass ("sväva").
});
Sedan är det bara detta till ditt stylesheet ...
Joe Amon säger den: September 18, 2009 kl 7:01 Said:
Jag har slösat bort timmar med att försöka få en meny som denna ska fungera det är inte alltför komplicerat, biffiga, innebär JS eller galen formatmallar. Tack så mycket, är din lätt, ren och den bästa jag sett. Så dåligt för mig jag inte upptäckte det här inlägget tidigare.
Hur som helst, en mer hindret innan min meny är klar. Kan du hjälpa tack? Jag vill att undermenyn som visas på huvudmenyn hover att ha en fast bredd - större än huvudmenyn talet - att rymma större länk taggar. Jag kan justera bredden på ul # meny li ul, ul # meny li ul li eller ens ul # meny li ul li en och lägga bakgrundsfärg - men bakgrunden är inte fullständig på grund av stoppning mellan ul # meny li ul Lis .
Tack än en gång.