CSS horisontellt navigationsfält
- Föregående sida CSS vertikalt navigationsfält
- Nästa sida CSS rullgardin meny
Horisontellt navigationsfält
Det finns två sätt att skapa ett horisontellt navigationsfält: användaInlineellerFlytandeListobjekt.
Inline listobjekt
Ett sätt att bygga ett horisontellt navigationsfält är att specificera <li>-elementen som inline, förutom den "standard"-kod som nämndes i föregående kapitel:
Exempel
li { display: inline; }
Exempel förklaring:
display: inline;
- Som standard är <li>-element blockelement. Här tar vi bort radbrytningarna innan och efter varje listobjekt så att de kan visas på en rad.
Flytande listobjekt
Ett annat sätt att skapa ett horisontellt navigationsfält är att flytta <li>-elementen och specificera layouten för navigationslänkarna:
Exempel
li { float: left; } a { display: block; padding: 8px; background-color: #dddddd; }
Exempel förklaring:
float: left;
- Använd float för att få blockelementen att glida nära varandradisplay: block;
- Genom att visa länken som ett blockelement kan hela länkområdet klickas (inte bara texten), och det är möjligt att specificera fyllning (om nödvändigt kan också höjd, bredd, marginaler osv. specificeras)padding: 8px;
- Gör blockelementen mer estetiskt tilltalandebackground-color: #dddddd;
- Lägg till en grå bakgrundsfärg till varje element
Tips:Om du vill ha en bakgrundsfärg som täcker hela bredden, lägg till background-color till <ul> istället för varje <a>-element:
Exempel
ul { background-color: #dddddd; }
Horisontell navigationsfältsexempel
Skapa en grundläggande horisontell navigationsfält med en mörk bakgrundsfärg och ändra bakgrundsfärgen på länken när användaren håller muspekaren över den:
Exempel
ul { list-style-type: none; margin: 0; padding: 0; overflow: hidden; background-color: #333; } li { float: left; } li a { display: block; color: white; text-align: center; padding: 14px 16px; text-decoration: none; } /* Ändra länkens färg till #111 (svart) när musen hålls över */ li a:hover { background-color: #111; }
Aktiv/current navigationslänk
Lägg till "active"-klassen till den aktuella länken så att användaren vet vilken sida de är på:
Exempel
.active { background-color: #4CAF50; }
Justera länkar till höger
Justera länkar till höger genom att flytta listobjekten till höger (float:right;
):
Exempel
<ul> <li><a href="#home">Hem</a></li> <li><a href="#news">Nyheter</a></li> <li><a href="#contact">Kontakt</a></li> <li style="float:right"><a class="active" href="#about">Om</a></li> </ul>
kanterna
Lägg till border-right
Egenskapen till <li> för att skapa en länkavskiljare:
Exempel
/* Lägg till en grå höger kantbrygga till alla listobjekt, utom det sista (last-child) */ li { border-right: 1px solid #bbb; } li:last-child { border-right: none; }
Fast navigationsfält
Håll navigationsfältet på sidans topp eller botten, även om användaren rullar sidan:
Observera:Fast position kan inte fungera normalt på mobila enheter.
Grå horisontell navigationsfält
Exempel på en grå horisontell navigationsfält med tunn grå kant.
Exempel
ul { border: 1px solid #e7e7e7; background-color: #f3f3f3; } li a { color: #666; }
Klibbig navigationsfält
Lägg till position: sticky;
För att skapa en klibbig navigationsfält.
Klibbiga element växlar mellan relativ och fast position baserat på rullposition. Det är relativt placerat tills det når den angivna avståndspositionen i viewporten - då 'klistrar' det sig på lämplig plats (t.ex. position:fixed).
Exempel
ul { position: -webkit-sticky; /* Safari */ position: sticky; top: 0; }
Observera:Internet Explorer, Edge 15 och tidigare versioner stöder inte enklippning. Safari kräver -webkit-prefix (se exempel ovan). Du måste också specificera övre
ochhöger
ochnedre
eller vänster
Minst en, för att göra enklippning fungerar.
Mer exempel
- Responsiv toppstavigeringsmeny
- Hur man använder CSS mediafrågor för att skapa en responsiv toppstavigeringsmeny.
- Responsiv sidostavigeringsmeny
- Hur man använder CSS mediafrågor för att skapa en responsiv sidostavigeringsmeny.
- Rullgardinsnavigationsfält
- Hur man lägger till en rullgardinsmeny i navigationsfältet.
- Föregående sida CSS vertikalt navigationsfält
- Nästa sida CSS rullgardin meny