Vertikal meny i CSS. Fast sidomeny i ren CSS Standard CSS-stilar för horisontell meny

I den här handledningen kommer vi att göra en klassisk horisontell meny i ren CSS. Den har ikoner i listor. När du håller muspekaren över ett objekt ändrar det mjukt färgen på knappen och texten och lägger till en skugga. Rullgardinslistor kan göras på flera nivåer, och viktigast av allt är detta helt enkelt implementerat i ren CSS3.

I lektionen kommer vi att använda:

  • display:flex;
  • använda övergång ;
  • vi kommer att placera elementen med hjälp av position .

HTML-strukturen för den horisontella menyn

Först av allt, låt oss skriva markeringen för den horisontella menyn. Vi öppnar vår utvecklingsmiljö i mitt fall är det PhpStorm , skapa en index.html-fil, skriv html:5-ramverket, ersätt lang med ru .

Jag kommer att ta bort all meta utom kodningen, jag kommer att skriva min titel " tom-menyn».

Mellan kroppen skriver vi header-taggen, och i den finns ett block med klassen .dws-menu där vår meny kommer att finnas. Vidare kommer strukturen att vara som följer, vi kommer att skapa listor i mängden fem stycken. Varje lista kommer att ha en länk med attributet href="#". Då kommer det att finnas en ikon I med klassen .fa .fa-

Klicka på tillämpa.

Låt oss skriva namnet på menyalternativen ( Hem, Produkter, Tjänster, Nyheter, Kontakter).

Välj och anslut sedan ikonerna. Vi går till Font Awesome-webbplatsen, väljer ikoner för dessa menyalternativ:

Vi laddar ner arkivet från sajten med ikoner, extraherar dess innehåll till vår dator, kopierar fonts-mappen och css-mappen till vår utvecklingsmiljö.

Teckensnittsmappen innehåller ikonteckensnitt och css-mappen innehåller deras stilar. Komprimerade stilar kan tas bort av font-awesome.min , inkludera okomprimerad font-awesome.css .

I index.html kopplar vi ihop ikoner och föreskriver varje objekt sin egen ikonstil ( Hem, kundvagn, kuggar, e-listan, kuvertöppet).

Vi har gjort huvudramen, vi kommer att bilda undermenyn efter att ha beskrivit huvudstilen, och nu kommer vi att skapa en fil där vi kommer att beskriva huvudstilarna för den horisontella menyn style.css och koppla den till index.html . För att kontrollera att stilarna är anslutna kommer jag att skapa en mapp img , jag kommer att placera en godtycklig bild på bakgrunden i den. Låt oss skriva bildens anslutning med bakgrund .

Body( bakgrundsbild: url("../img/ep_naturalwhite.png"); )

Beskriva CSS-stilar för den horisontella menyn

Först och främst, låt oss återställa alla indrag som olika webbläsare kan ställa in som standard:

Dws-meny *( marginal: 0; utfyllnad: 0; )

Låt oss ställa in rubriken till 200 spader. och tilldela typsnittet Cuprum, som kan laddas ner och kopplas separat till din webbplats, ifall vi kommer att skriva ytterligare typsnitt.

Header (marginal: 200px; teckensnittsfamilj: Cuprum, Arial, Helvetica, sans-serif; )

Låt oss dölja markörerna från listorna:

dws-menu ul, .dws-menu ol( liststil: ingen; )

Låt oss visa listorna horisontellt med display: flax , och göra den centrerad:

Dws-meny > ul( display: flex; justify-content: center; )

I rubriken, låt oss dra in bara från toppen, skriv margin-top .

Rubrik( margin-top: 200px; teckensnittsfamilj: Cuprum, Arial, Helvetica, sans-serif; )

Låt oss designa vår meny, ställa in färgen på knapparna, typsnittet etc.

Dws-meny > ul li a( display: block; bakgrund: #ececed; utfyllnad: 15px 30px 15px 40px; font-size: 14px; färg: #454547; text-decoration: none; text-transform:versaler;)

Sedan placerar vi ikonerna, tilldelar listorna position: relativ; för att centrera ikonerna ytterligare:

dws-menu > ul li( position: relativ; )

dws-menu > ul li > a i.fa( position: absolut; topp: 15px; vänster: 12px; font-size: 18px; )

Låt oss tilldela en gränsavgränsare till listorna, välj det första LI-elementet och ställ in gränsen. Vi väljer det sista elementet LI och tilldelar det en liknande kantlinje.

Dws-meny > ul li:first-child( border-left: 1px solid #b2b3b5; ) .dws-menu > ul li:last-child( border-right: 1px solid #babbbd; )

Göra separatorer för LI-listor:

.dws-menu > ul li( position: relativ; kant-höger: 1px fast #c7c8ca; }

Meny förvärvad utseende, sedan kan du börja beskriva svävstilar.

Animera den horisontella menyn med muspekaren

Dws-meny li a:hover( bakgrund: #454547; färg: #ffffff; box-shadow: 1px 5px 10px -5px svart; övergång: lätthet i alla 0.3s;)

Och för att få denna effekt att försvinna smidigt, lägg till den här stilen till länken i vila:

.dws-menu > ul li a( display: block; bakgrund: #ececed; utfyllnad: 15px 30px 15px 40px; font-size: 14px; färg: #454547; text-decoration: none; text-transform:versaler;övergång: alla 0,3s lätthet; )

Huvudmenyn är klar och du kan börja beskriva undermenyerna och deras undermenyer.

Beskriver en CSS/HTML-rullgardinsmeny

Vi öppnar index.html och lägger till till exempel en extra meny till produkterna. Mellan LI-listorna infogar vi UL , vi kommer att placera fem listor i den, där det kommer att finnas länkar med attributet herf=”#” .

ul>li*5>a

Klicka på tillämpa, skriv namnet på objekten ( Kläder, elektronik, mat, verktyg, liv. kemi).

  • Kläder
  • Elektronik
  • Mat
  • Verktyg
  • Gen. kemi

Sedan öppnar vi style.css och beskriver undermenyns stilar.

Välj den andra listan och ge den position: absolut; , ställ in minimibredden till 150 pixlar.

/*undermeny*/ .dws-menu li ul( position: absolut; min-bredd: 150px; )

Låt oss skriva gränsen för 1 topp till listorna.

Dws-meny li > ul li( kantlinje: 1px fast #c7c8ca;)

För länkar i undermenyn, ställ in utfyllnaden till 10 pixlar, ta bort texttransformationen och gör bakgrunden ett par toner mörkare bakgrund: #e4e4e5; .

Dws-menu li > ul li a( utfyllnad: 10px; textomvandling: ingen; bakgrund: #e4e4e5; )

Sedan kommer vi att skapa en annan kapslad meny. Låt oss gå till uppmärkningsfilen och till exempel i "Elektronik" bildar vi menyn analogt, som vi gjorde tidigare. Beskriv styckerubriker ( Kameror, datorer, telefoner) och spara.

  • Elektronik
    • kameror
    • Datorer
    • Telefoner
  • De visas, men dolda under huvudmenyn, nu position: absolut; kapslade UL och flytta den med 150 toppar. åt sidan:

    Dws-menu li > ul li ul( position: absolut; höger: -150px; topp: 0; )

    /*undermeny*/ .dws-menu li ul(position: absolut; min-bredd: 150px; display: ingen; )

    Och för deras utseende kommer vi att välja listorna på svävaren och visa dem med display: block; .

    dws-menu li:hover > ul( display: block; )

    Nu kan du lägga till flernivåmenyer genom att helt enkelt kopiera UL-blocket och ändra dess objekt.

    • Hem
    • Produkter
      • Kläder
        • Skor
        • Jackor
        • Byxor
      • Elektronik
        • kameror
        • Datorer
        • Telefoner
          • Samsung
          • Flf
          • Äpple
      • Mat
      • Verktyg
      • Gen. kemi
    • Tjänster
      • Service 1
      • Service 2
      • Service 3
    • Nyheter
    • Kontakter

    Låt oss sedan dekorera knapparna med ingrediensen för de sista stegen. Jag använder en CSS-generator, jag har skapat flera förinställningar, du kan skapa dina egna, i mitt fall kopierar jag bara given kod och placera på plats bakgrunden som jag skrev innan.

    .dws-menu > ul li a( display: block; /* Permalänk - använd för att redigera och dela denna gradient: http://colorzilla.com/gradient-editor/#c9c9c9+0,f6f6f6+2,c4c5c7+98,757577+100;Custom+3 */ bakgrund: #c9c9c9 ; /* Gamla webbläsare */ bakgrund: -moz-linear-gradient(top, #c9c9c9 0%, #f6f6f6 2%, #c4c5c7 98%, #757577 100%); /* FF3.6-15 */ bakgrund: -webkit-linear-gradient(top, #c9c9c9 0%,#f6f6f6 2%,#c4c5c7 98%,#757577 100%); /* Chrome10-25,Safari5.1-6 */ bakgrund: linear-gradient(to bottom, #c9c9c9 0%,#f6f6f6 2%,#c4c5c7 98%,#757577 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#c9c9c9", endColorstr="#757577",GradientType=0); /* IE6-9 */ stoppning: 15px 30px 15px 40px; teckenstorlek: 14px; färg: #454547; text-dekoration: ingen; text-transform:versaler; övergång: alla 0,3s lätthet; ).dws-menu li a:hover( /* Permalänk - använd för att redigera och dela denna gradient: http://colorzilla.com/gradient-editor/#e0e1e5+0.454547+2.454547+98,e0e1e5+100 */ bakgrund: #e0e1e5; /* Gamla webbläsare */ bakgrund: -moz-linear-gradient(top, #e0e1e5 0%, #454547 2%, #454547 98%, #e0e1e5 100%); /* FF3.6-15 */ bakgrund: -webkit-linear-gradient(top, #e0e1e5 0%,#454547 2%,#454547 98%,#e0e1e5 100%); /* Chrome10-25,Safari5.1-6 */ bakgrund: linear-gradient(to bottom, #e0e1e5 0%,#454547 2%,#454547 98%,#e0e1e5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#e0e1e5", endColorstr="#e0e1e5",GradientType=0); /* IE6-9 */ färg: #ffffff; box-shadow: 1px 5px 10px -5px svart; övergång: alla 0,3s lätthet; )

    Om så önskas kan den här menyn designas för den stil som passar dig på webbplatsen, det räcker bara att generera en färg och ersätta den i koden. Resultatet är en enkel och samtidigt snygg horisontell meny gjord med ren CSS.

    God dag kära läsare. Idag kommer vi att diskutera ämnet hur man gör en horisontell meny med html och css". Menyn finns som regel i sidans rubrik och är en lista med länkar till de viktigaste sidorna, den kallas också huvudmeny. Användare kommer ständigt att klicka på dessa länkar. Hur du ordnar dem och vilken design du ger menyn kommer att påverka användarnas beteende, konvertering, deras övergripande upplevelse av din webbplats och, naturligtvis, .

    HTML-kod för horisontell meny

    En gång i tiden gjordes huvudmenyn för sajten på bilder, tabeller, blixt och möjligen något annat, men nuförtiden finns det den mest populära och korrekta metoden att skapa en meny med "list"-taggar.

    Taggar används för att skapa menyer.

    Ett exempel på hur du använder html-taggar för att skapa en meny i koden nedan:

    • Hem
    • Tjänster
    • Priser
    • Kontakter

    Standard CSS-stilar för horisontell meny

    ul ( list-stil: ingen; /*ta bort listmarkörer*/ marginal: 0; /*ta bort stoppning*/ stoppning-vänster: 0; /*ta bort stoppning*/ ) a ( textdekoration: ingen; /*ta bort understrykning länktext*/ ) li ( float:left; /*Placera listan horisontellt för att implementera menyn*/ margin-right:5px; /*Placera menyalternativen*/ )

    Vi får en färdig toppmeny i rubriken, utan några speciella stilar och bells and whistles, detta kan kallas ramen för din framtid vacker meny. Om du kopierar och klistrar in denna html och css kommer det att se ut så här.

    Ett exempel på en ram (mall) för din framtida meny

    Allt blev helt enkelt, du vill naturligtvis ha en vacker huvudmeny direkt, men utan att förstå grunderna kommer du helt enkelt inte att kunna skapa en bra meny utan fel i html och css.

    Det finns också flera andra CSS-metoder används för att göra menyn horisontell utöver float:left; , till exempel display:inline-block; eller display:flex; , men det rekommenderas att använda metoden som beskrivs ovan.

    Låt oss fylla vår menymall med olika stilar och göra den skön.

    Exempel på en vacker horisontell meny för en webbplats

    Nu ska jag ge några färdiga exempel med färdig design horisontell meny.

    Du kan skapa alla "snygga saker" för din webbplats själv, och inte titta på Internet. Det enklaste sättet att göra detta är baserat på ett av exemplen nedan.

    Enkel blå meny med separata poster

    CSS-stilar för "toppmenyn".

    Nedan är stilarna denna meny. HTML-koden förblir densamma som i menyn "skelett".

    Ul ( liststil: ingen; /*ta bort listmarkörer*/ marginal: 0; /*ta bort stoppning*/ stoppning-vänster: 0; /*ta bort stoppning*/ marginal-topp:25px; /*indrag överst*/ ) a ( text-dekoration: ingen; /*ta bort länktext understruken*/ bakgrund:#30A8E6; /*lägg till bakgrund till menyalternativ*/ färg:#fff; /*ändra länkfärg*/ padding:10px; /*lägg till utfyllnad */ font-family: arial; /*ändra teckensnitt*/ border-radius:4px; /*lägg till avrundning*/ -moz-transition: all 0.3s 0.01s lätthet; /*gör en mjuk övergång*/ -o-transition : all 0.3s 0.01s ease; -webkit-transition: all 0.3s 0.01s ease; ) a:hover ( bakgrund:#1C85BB;/*lägg till svävningseffekt*/ ) li ( flyta:vänster; /*lägg listan horisontellt till implementera menyn*/ margin-right:5px; /*Indrag i menyalternativen*/ )

    Huvudmenyn ligger på en färgad linje med röd bakgrund

    css-stilmeny på färglinjen

    ul ( liststil: ingen; /*ta bort listmarkörer*/ marginal: 0; /*ta bort stoppning*/ stoppning-vänster: 0; /*ta bort stoppning*/ marginal-topp:25px; /*indrag överst*/ bakgrund :#FF4444; /*lägg till en bakgrund till hela menyn (om du byter ut denna parameter ändras färgen på hela menyn)*/ höjd: 50px; /*ställ in höjden*/ ) a (textdekoration: ingen; /* ta bort understrykningen av länktexten* / bakgrund:#FF4444; /*lägg till en bakgrund till menyalternativet (om du byter ut den här inställningen ändras färgen på alla menyalternativ)*/ färg:#fff; /*ändra länkfärgen* / padding:0px 15px; /*lägg till utfyllnad*/ font-family: arial; /*ändra teckensnittet*/ line-height:50px; /*justera menyn vertikalt*/ display: block; kant-höger: 1px solid # F36262; /*lägg till en ram till höger*/ -moz-transition: all 0.3s 0.01s ease; /*gör en smidig övergång*/ -o-transition: all 0.3s 0.01s ease; -webkit-transition: all 0,3s 0,01s lätthet; ) a:hover ( bakgrund:#D43737;/ *lägg till svävningseffekt*/ ) li ( flyta:vänster; /*lägg listan horisontellt på riktigt meny*/ )

    Rullgardinsmeny i HTML+CSS

    För genomförande ytterligare rullgardinsmeny (rullgardinsmeny) på webbplatsen för alla menyalternativ måste vi lägga till en ytterligare lista med objekt till HTML-koden för en länk från den horisontella menyn och ändra CSS-stilarna. I stilarna kommer vi att använda ett enkelt knep - att ändra visningen av rullgardinsmenyn när du håller muspekaren till det objekt vi behöver i topp meny. Låt oss till exempel ta objektet "tjänster".

    Exempel på att skapa en enkel rullgardinsmeny

    HTML-kod i rullgardinsmenyn

    • Hem
    • Tjänster
      • Service 1
      • Lång service 2
      • Service 3
    • Priser
    • Kontakter

    Dropdown CSS-stilar

    ul ( liststil: ingen; /*ta bort listmarkörer*/ marginal: 0; /*ta bort stoppning*/ stoppning-vänster: 0; /*ta bort stoppning*/ marginal-topp:25px; /*indrag överst*/ bakgrund :#819A32; /*lägg till en bakgrund till hela menyn*/ höjd: 50px; /*ställ in höjden*/ ) a (textdekoration: ingen; /*ta bort understrykningen av länktexten*/ bakgrund:#819A32 ; /*lägg till en bakgrund till menyalternativet*/ färg:#fff; /*ändra färg på länkar*/ padding:0px 15px; /*lägg till utfyllnad*/ font-family: arial; /*ändra teckensnitt*/ line-height :50px; /*justera menyn till vertikaler*/ display: block; border-right: 1px solid #677B27; /*lägg till en ram till höger*/ -moz-transition: all 0.3s 0.01s lätthet; /*gör en mjuk övergång*/ -o-övergång: all 0.3s 0.01s lätthet; -webkit-transition: all 0.3s 0.01s lätthet; ) a:hover ( bakgrund:#D43737;/*Lägg till en svävningseffekt*/ ) li ( flyta :left; /*Placera listan horisontellt för att implementera menyn* / position:relative; /*ställ in positionen för positionering*/ ) /*Stilar för den dolda rullgardinsmenyn* / li > ul ( position:absolut; top:25px; display:ingen; ) /*Gör den dolda delen synlig*/ li:hover > ul ( display:block; width:250px; /*Ställ in bredden på rullgardinsmenyn*/ ) li:hover > ul > li ( float:none; /* Ta bort horisontell positionering* / )

    Och för att förstå exakt vilka tjänster och kategorier du bör ha rekommenderar jag att du bekantar dig med materialet:.

    Jag försökte berätta så kort som möjligt om hur man skapar en horisontell huvudmeny, gör några mallar, hur man lägger till enkla stilar till den och gör den snyggare, hur man gör en rullgardinsmeny för din webbplats. För enkelhetens skull har jag samlat alla menyer som presenteras ovan i en html-fil, som du kan ladda ner nedan. Det ser ut som på skärmdumpen:

    Tack för uppmärksamheten.

    Vertikal meny görs på basis av en lista, punktlista eller numrerad. Som standard staplas alla listobjekt vertikalt och tar upp hela bredden på behållarelementet, vilket i sin tur tar upp hela bredden på dess behållarblock.

    Listelement kan innehålla inte bara länkar, utan även titlar, ikoner, bilder. Med hjälp av den vertikala menyn kan du göra kommentarer på webbplatsen, en lista över kategorier, etc.

    1. Vertikal meny med titel

    Enkel elegant design. Lämplig för stylingkategorier på sajten. Vid muspekaren ändrar listobjektet färgen på länken.

    Kategorier

    * (boxstorlek: border-box; marginal: 0;) .widget (utfyllnad: 20px 30px; bakgrund: vit; font-family: "Roboto", sans-serif; ) .widget-title (text-transform: versaler ; bokstavsavstånd: 2px; färg: #222; font-size: 16px; padding-left: 15px; margin-bottom: 15px; kant-vänster: 2px solid #b99d61; ) .widget-list ( utfyllnad: 0; lista -style: none; ) .widget-list a:before (innehåll: "\2014"; margin-right: 14px; ) .widget-list a (textdecoration: none; outline: none; display: block; padding: 6px 0; bokstavsmellanrum: 1px; font-weight: 300; color: #444; transition: .3s linear; .widget-list a:hover (färg: #b99d61;)

    2. Vertikal meny i stil med "tunnelbanekarta"

    En intressant lösning för utformningen av en vertikal meny, det är möjligt att lägga till kapslade menyer. "Metrogren" - listans vänstra kant, markörer genereras före varje länk.

    .metro ( liststil: ingen; utfyllnad: 0; marginal: 30px 0 0 50px; kantlinje: 5px fast #DAE4F1; ) .metro li (linjehöjd: 2em;) .metro ul ( marginal: 20px 0 20px 15px; utfyllnad: 0; kant: ingen; liststil: ingen; ) .metro ul:before, .metro ul:after (innehåll: ""; bredd: 5px; höjd: 28px; bakgrund: #DAE4F1; position: relativ ; display: block; left: -9px; ) .metro ul:before ( transform: rotate(-45deg); margin-top: -15px; ) .metro ul:after ( transform: rotate(45deg); bottom: -20px ; ) .metro ul li (kant-vänster: 5px fast #DAE4F1;) .metro ul li:first-child ( marginal-top: -5px; padding-top: 5px; ) .metro ul li:last-child ( utfyllnad -bottom: 9px; margin-bottom: -25px; ) .metro a (text-dekoration: ingen; display: block; font-family: "Noto Sans", sans-serif; färg: #4A4B4D; ) .metro a: före ( innehåll: ""; display: inline-block; bakgrund: #CA682D; bredd: 12px; höjd: 12px; vänster: -9px; position: relativ; kantradie: 50%; marginal-höger: .5em; )

    3. Vertikal meny med svävningseffekter

    Ikon och bakgrundsfyllning, som visas när du håller muspekaren över ett listelement, hjälper till att diversifiera utformningen av vertikala menyelement.

    Kategorier

    .category-wrap ( stoppning: 15px; bakgrund: vit; bredd: 200px; box-shadow: 2px 2px 8px rgba(0,0,0,.1); font-family: "Helvetica Neue", Helvetica, Arial, sans -serif; ) .category-wrap h3 ( font-size: 16px; färg: rgba(0,0,0,.6); margin: 0 0 10px; utfyllnad: 0 5px; position: relativ; ) .category-wrap h3:efter ( innehåll: ""; bredd: 6px; höjd: 6px; bakgrund: #80C8A0; position: absolut; höger: 5px; botten: 2px; box-shadow: -8px -8px #80C8A0, 0 -8px #80C8A0 , -8px 0 #80C8A0; ) .category-wrap ul ( liststil: ingen; marginal: 0; stoppning: 0; border-top: 1px solid rgba(0,0,0,.3); ) .category- wrap li (marginal: 12px 0 0 0px;) .category-wrap a (textdekoration: ingen; display: block; font-size: 13px; färg: rgba(0,0,0,.6); utfyllnad: 5px ; position: relativ; övergång: .3s linjär; ) .category-wrap a:after ( innehåll:"\f18e"; font-family: FontAwesome; position: absolut; höger: 5px; färg: vit; övergång: .2s linjär ; ) .category-wrap a:hover ( bakgrund: #80C8A0 ; färg vit; )

    4. Vertikal meny med ikoner

    Menyikoner ger ett visuellt ankare som kompletterar den verbala beskrivningen av varje kategori. För att visa ikoner måste du ansluta . Du kan också använda andra ikontypsnitt eller bildikoner.

    Kategorier

    * (boxstorlek: border-box; marginal: 0;) .widget ( utfyllnad: 20px; border: 5px solid #f1f1f1; bakgrund: #fff; border-radius: 5px; font-family: "Roboto", sans- serif; ) .widget h3 ( margin-bottom: 20px; text-align: center; font-size: 24px; font-weight: normal; color: #424949; ) .widget ul ( margin: 0; utfyllnad: 0; lista -style: none; width: 250px; ) .widget li ( border-bottom: 1px solid #eaeaea; padding-bottom: 15px; margin-bottom: 15px; ) .widget li:last-child ( border-bottom: none; margin-bottom: 0; padding-bottom: 0; ) .widget a (text-dekoration: ingen; färg: #616a6b; display: inline-block; ) .widget li:before ( font-family: FontAwesome; font-size : 20px; vertical-align:bottom; color: #dd3333; margin-right: 14px; ) .widget li:nth-child(1):before (content:"\f1fc";) .widget li:nth-child( 2):before (innehåll:"\f0d0";) .widget li:nth-child(3):before (content:"\f0cd";) .widget li:nth-child(4):before (innehåll:" \f028";) .widget li:nth-child(5):before (innehåll:"\f03d";)

    5. Vertikal meny med bilder

    Detta exempel kan användas för att designa block med nya produkter, liknande produkter, etc. webbutikens hemsida.

    Jpeg">

    Produkt 1
    ₽ 2000
    Produkt 2
    ₽ 2500
    Produkt 3
    ₽ 2070
    @import url("https://fonts.googleapis.com/css?family=Open+Sans:300,400,600"); .col ( bredd: 300px; bakgrund: vit; utfyllnad: 20px; kant: 1px fast #eeeeee; font-family: "Open Sans", sans-serif; ) .col * (marginal: 0;) .widget-title ( margin: 0 0 30px; line-height: 1; text-transform: versaler; letter-space: 1px; font-size: 20px; color: #242424; overflow: hidden; ) .widget-title:after ( innehåll: " "; position: relativ; display: inline-block; width: 100%; vertikal-align: middle; right: -15px; margin-right: -100%; border-top: 2px solid #cca86d; ) .price-line (marginal-bottom: 20px;) .price-line:last-child (marginal-bottom: 0;) .price-line:after ( innehåll: ""; display: table; clear: both; ) .product-image ( bredd: 80px; float: vänster; ) .product-image a ( display: block; outline: none; ) .product-image img ( display: block; width: 100%; ) .product-content ( flytande: vänster; marginal -left: 20px; ) .product-title ( font-size: 18px; margin-bottom: 10px; line-height: 1; ) .product-title a ( text-decoration: none; color: #242424; ) .price -låda (färg: #666; teckenstorlek: 18px; linjehöjd: 1; ) .star-rating ( margin-bottom: 10px; font-size: 13px; position: relative; font-family: "FontAwesome"; ) .star-rating:before ( innehåll: "\f005 \f005 \f005 \f005 \ f005"; position: absolut; topp: 0; vänster: 0; färg: #FF9919; )

    I detta inlägg kommer vi att göra en fast sidoinfomeny. För att implementera ikonerna kommer vi att ansluta typsnittet .

    Steg 1. Anslut typsnittet med ikoner, skapa ett tomt dokument

    Du kan hitta detaljerad information om att arbeta med FontAwesome-teckensnittet och en länk till själva projektet i mitt inlägg -.

    Här är koden för sidan med anslutna filer:

    Fast sidomeny

    Steg 2: Lägga till HTML-markeringen för fast meny

    Här är uppmärkningskoden för vår fasta meny:

    Som du märkte, använde jag taggen

    Steg 3. Lägga till undermenyn HTML Markup

    Undermenyn är samma lista som huvudmenyn, plus taggen , som visar "vagnen till vänster"-ikonen, utför funktionen av en viss "svans", mer detaljer i bilden nedan 🙂


    Detta element förbinder också tomrummet mellan menyblocket och undermenyn, vilket gör att vi kan implementera övergångsfunktionen.

    Steg 4 Styla den fasta sidofältet

    Jag försökte kommentera stilkoden på platser där det är viktigt. I allmänhet hänför sig alla okommenterade punkter till den banala stylingen av bakgrunden, färgen etc.

    #sidebar-menu ( position: fix; /* fixa vår meny */ top: 200px; /* position på menyn i förhållande till den övre kanten av webbläsaren */ vänster: 0; /* håll menyn till vänster kant * / utfyllnad: 10px; bakgrund: # 323A45; färg: #FFF; kantradius: 0 8px 8px 0; ) #sidebar-menu li (position: relativ; cursor: pointer; ) #sidebar-menu li i ( /* Set ikonerna till en fast storlek, höjd och linjehöjd ska vara desamma */ bredd: 27px; höjd: 27px; linjehöjd: 27px; border-radius: 4px; bakgrund: #3CB7E7; text-align: center;) #sidebar-menu li+li (marginal-top: 4px;) #sidebar-menu b (display: none; position: absolut; /* position relativt den vänstra kanten är lika med bredden på li-elementet */ left: 27px; topp: 0; höjd: 27px; /* bredd är lika med gapet mellan blockmenyn och undermenyn */ bredd: 16px; linjehöjd: 27px; bakgrund: transparent; färg: #323A45; /* placera ikonen sig till höger så att den visuellt ser ut tillsammans med undermenyblocket */ text-align: right; ) #sidebar -menu li > ul (visa: ingen; position: absolut; topp: -10px; vänster: 42px; bredd: 120px stoppning: 10px bakgrund: #323A45; kantradie: 8px ) #sidebar-menu li:hover b, #sidebar-menu li:hover ul (display: block;) #sidebar-menu li a (display: block; utfyllnad: 4px 8px; border-radius: 4px; färg: #FFF ; -webkit-transition: alla .2s; -moz-transition: alla .2s; -ms-transition: alla .2s; -o-transition: alla .2s; transition: alla .2s; ) #sidebar-menu li a :hover (display: block; bakgrund: #3CB7E7; )

    Om du har några frågor om styling, skriv i kommentarerna till det här inlägget, jag svarar med glädje.
    Det är allt! Fast sidomeny Klar 🙂

    Med uppdateringen ska allt på sajten vara adaptivt, vi utesluter inte den horisontella menyn, som på samma sätt ska vara vänlig på alla skärmar. Där jag föreslår att överväga den klassiska navigeringen, som är gjord i en ren stil, utan användning av JS. Där den i sin egen stil kan passa på så många platser, eftersom den skapades på ett enkelt, standardformulär, men med närvaron av effekter. Dessutom, om den ses från mobila media, kommer en knapp på höger sida automatiskt att visas, där när du klickar inte på hela bredden, kommer underkategorier att visas, men allt är snyggt, på samma sida, där teckensnittsknappar också kommer att ses visuellt.

    Som du kan se användes här enkla HTML-listor, allt för att visa alla listor som finns under länkarna till övergången av en eller annan kategori. Konceptet är att det är trevligt att ordna navigeringslistan horisontellt, men när den är mobil blir den automatiskt vertikal, vilket framgår av bilderna som är bifogade materialet.

    Vad som initialt tilldelas varje begäran, där utvecklaren själv kan ändra till det ämnet, eller till de figurer som är mer tematiskt lämpliga. Själva menyn är skapad i mörkgrönt, just valt denna nyans, som sällan ses. Men allt kan förändras radikalt genom att gå in i CSS-stilen, och där kan du ställa in designstilen som du behöver, och framför allt, så att den passar perfekt in i själva grunden för internetresursen.

    1 . Så som standard går det eller när du går in i portalen.

    2 . Vi tittar redan från en mobil enhet, men har ännu inte blivit anropade under menyn.

    3 . Ett klick gjordes här, som visade alla begärda förfrågningar.

    Låt oss börja installationen:



    ZORNET.RU





    css

    sektion(
    bredd:100%;
    max-bredd:1198px;
    margin:0pxauto;
    display:table;
    position:släkting;
    }

    Rubrik(
    bredd:100%;
    display:table;
    bakgrundsfärg: #175812;
    margin-bottom:50px;
    }

    #kamtukagnpos(
    flyta till vänster;
    teckenstorlek: 25px;
    text-transform: versaler;
    färg: #ffab2;
    teckensnittsvikt: 600
    stoppning: 19,8px 0px;
    }

    #kamtukagnpos:hover(
    text-shadow: 0px 0px 6px rgba(255, 250, 250, 0,67);
    }

    Nav(
    width:auto;
    float:right;
    }

    Navul(
    display:table;
    float:right;
    }

    Nav ul li(
    flyta till vänster;
    }

    Nav ul li:last-child(
    padding-right:0px;
    }

    Nav ul li a (
    färg: #e4f2ff;
    teckenstorlek: 19px;
    stoppning: 24px 19px;
    display: inline-block
    text-shadow: 0 1px 0 #2e2f2e;
    }

    Nav ul li a: sväva (
    bakgrundsfärg: #143a06;
    färg: #fff9c8;
    övergång: alla 0,7s lätta 0:or;
    text-shadow: 0 1px 0 #282b28;
    }

    Nav ul li a: sväva i (
    färg: #fdf7c9;
    övergång: alla 0,7s lätta 0:or;
    text-shadow: 0 1px 0 #1c1d1c;
    }

    Nav ul li a i (
    stoppning-höger: 9px;
    färg: #f4faff;
    övergång: alla 0,7s lätta 0:or;
    text-shadow: 0 1px 0 #202120;
    }

    Navigation-menusaita ul(
    display:table;
    bredd:24px;
    }

    Navigation-menusaita ul li(
    bredd:100%;
    höjd:3px;
    bakgrundsfärg:#e9f0f7;
    margin-bottom:4px;
    }

    Navigation-menusaita ul li:last-child(
    margin-bottom:0px;
    }

    Inmatning, etikett(
    display:ingen;
    }

    @bara mediaskärm och (maxbredd: 1440px)(
    sektion(
    max-bredd:95%;
    }
    }

    @bara mediaskärm och (maxbredd: 980px)(
    rubrik(
    stoppning:20px 0px;
    }

    #kamtukagnpos(
    padding:0px;
    }

    Inmatning(
    position: absolut;
    topp: -9999px;
    vänster: -9999px;
    bakgrund:ingen;
    }

    Input:fous(
    bakgrund:ingen;
    }

    Märka(
    float:right;
    stoppning:8px 0px;
    display:inline-block;
    cursor:pointer;
    }

    Indata:markerad ~ nav(
    display:block;
    }

    Nav(
    display:ingen;
    position:absolut;
    höger:0px;
    top:53px;
    bakgrundsfärg:#174810;
    padding:0px;
    z-index:99;
    }

    Navul(
    width:auto;
    }

    Nav ul li(
    flyta:ingen;
    padding:0px;
    bredd:100%;
    display:table;
    }

    Nav ul li a(
    färg:#f7f2f2;
    font-size:15px;
    stoppning:10px 20px;
    display:block;
    border-bottom: 1px solid rgba(204, 197, 197, 0,1);
    }

    Nav ul li a i(
    färg:#f9f5d5;
    padding-right:13px;
    }
    }

    @media only-skärm och (maxbredd: 480px) (
    sektion (maxbredd: 90%;)
    }

    @media only-skärm och (maxbredd: 360px) (
    etikett (utfyllnad: 5px 0px;)
    #kamtukagnpos(font-size: 20px;)
    nav(överst:47px;)
    }


    Innan du placerar är det viktigt att titta på demosidan och verkligen utvärdera hur allt fungerar, men i själva verket finns det inget sådant, förutom effekten som läggs till i namnet på resursen, där när du håller muspekaren över alla skyltar går under skugga, som visas mycket ljusare.