Een navigatie maken en stylen
Een menu met de power van Css
Er is toch niets gemakkelijker dan een <ul> lijst te “misbruiken” voor een nette navigatie te maken voor je website.
Met toevoeging van 1 enkele afbeelding geef je door middel van CSS er al een heel andere dimensie aan.
Deze tutorial toont je hoe je een gewone ongeordende lijst <ul> kunt omtoveren naar een navigatie menu, natuurlijk door toepassing van de fantastische kracht van CSS en één enkele afbeelding.
Afbeelding
Je hebt een kleine afbeelding nodig, namelijk deze >>
<< rechter muis, opslaan als…
XHTML
<div id="navigatie">
<ul>
<li><a href="#">Startpagina</a></li>
<li><a href="#">Vrienden</a></li>
<li><a href="#">Links</a></li>
</ul>
</div>
Zonder enige vorm van opmaak krijg je dus een standaard lijst te zien.
CSS toepassen
Verwijderen van de standaard bolletjes.
#navigatie ul
{
list-style: none;
padding: 0;
margin: 0;
}
list-style: none; zorgt ervoor dat de bolletjes die standaard bij een lijst zijn, niet getoond worden, padding en margin staan op 0, dus daarmee hebben we de standaard inspringing van ongeveer 17px ook reeds verwijdert. Hoe dit reeds uitziet kan je hier bekijken.
De links naast elkaar plaatsen.
#navigatie li
{
float: left;
margin: 0 0.15em;
padding: 0;
}
Met de float: left; bepalen we dat de links nu naast elkaar staan in plaats van onder elkaar, met margin: 0 0.15em; zeggen we dat er geen marge onder & boven moet zijn, en dat er een spatie links en rechts moet zijn van 0.15em. Met padding: 0; zorgen we ervoor dat er geen spaties zijn, aan geen enkele kant.
De voorlopige navigatie ziet er nu zo uit.
Opgelet: Daar we nu gebruik hebben gemaakt van float:left; moeten we het volgende onderliggende deel van de website vrij maken van deze regel door het eerst volgende element de eigenschap clear:both; mee te geven, want anders zal deze zich langs het navigatie menu plaatsen.
Vormgeving met achtergrond.
#navigatie li a:link, #navigatie li a:visited
{
background: #fff url(images/tutorials/nav.gif) repeat-x bottom left;
height: 2em;
line-height: 2em;
width: 9em;
display: block;
border: 2px solid #dcdce9;
color: #0d2474;
text-decoration: none;
text-align: center;
}
Background heeft wit als achtergrondkleur, een afbeelding wordt met repeat-x herhaald in de horizontale richting en wordt onder (bottom) links (left) geplaatst. De hoogte is height: 2em;, wat niet overeen komt met onze afbeelding van 19px, deze wordt namelijk uitgerokken. line-height: 2em; bepaald dat de link tekst in het midden (horizontaal gezien) geplaatst wordt.
Het belangrijke gedeelte hier is toch de width: 9em;, deze maakt namelijk de indruk dat de link over de gehele afbeelding werkt en niet alleen maar werkt als er over de linktekst gegaan wordt.
En we bepalen ook nog met display: block; dat we het ganse willen weergeven als een…hmmm…nouja…een blok. De rest legt zich zelf wel uit, niet ? Het menu heeft nu al een beetje zijn bijna uiteindelijk uitzicht verkregen.
Het laatste, maar belangrijkste gedeelte.
#navigatie
{
width:30em
}
Waarom is dit nu zo belangrijk ?
Dit is een optie, maar als je het niet zou plaatsen, dan zou, als de bezoeker om een of andere duistere reden zijn scherm kleiner maakt, de links aan de uiterst rechtse kant worden afgebroken en onder de eerste link geplaatst worden.
Zie het een beetje als tekst die te lang is en automatisch op een nieuwe regel herbegonnen wordt.
This article was written by Trenton Moss
Gelezen: 4658 | Styling, Design, XHTML, CSS, Tutorials







Op Monday 09 May 2005
En semantisch gezien vind ik het ook beter: het is een lijst navigatielinks, dus die mogen gerust samen staan.
Op Monday 09 May 2005
Inderdaad. Webmasters die met HTML en CSS werken moeten eens leren om niet teveel overbodige <div />’s te gebruiken. Een <div> rond een <ul> is bijvoorbeeld totaal overbodig…
Op Monday 09 May 2005
Sorry om je te moeten teleurstellen, maar deze tutorial heeft wel degelijk een “overbodige” container rondom de ul.
Maar dat heeft een bedoeling, als ik nu de ul de id zou meegeven, zou de CSS geen aanduiding meer hebben naar de
ul: list-style-type:none;, het zou veranderen naar#navigatie: list-style-type:none;.Nu wij weten dat de ul aanduiding wegvalt, maar een beginner niet, en als deze geen ul zien staan, snappen ze de bedoeling niet.
Maar je opmerking is wel correct.
Op Monday 09 May 2005
Zoals je zelf aangeeft, kan het inderdaad wel handig zijn om een extra div’je te gebruiken
Op Monday 09 May 2005
Fijn dat je het begrijpt, het is inderdaad overbodig maar niet iedereen is zo logisch-Css-achtig op de hoogte
Op Sunday 22 May 2005
Kun je ook ronde hoeken maken?
Hoe moet dat dan?
Op Sunday 22 May 2005
Ja dat kan, maar dan heb je 3 achtergronden nodig, en moet je deze ook Xhtml achtig verwerkt krijgen in je code.
Zal eens proberen zoiets op poten te zetten
Op Saturday 11 March 2006
Hoe kun je de breedte tussen de verschillende knoppen aanpassen? Ik wil namelijk alle ruimte tussen de knoppen weg hebben.
Op Saturday 11 March 2006
@Wouter: ik heb mij heel veel moeite gedaan om alle stappen uitvoerig uit te leggen, elke stuk code wordt stap voor stap uitgelegd.
Dus als je misschien eens wilt lezen ?
Op Monday 19 June 2006
Ik vind eigenlijk (mijn mening) dat je beter met JavaScript kunt werken namelijk vind ik het zelf veel werk om het te leren maar dan heb je ook wat.
Ook is een echte aanrader ”php” op internet vind je hier ook wel cursussen over.
vuul succes..;)
Op Saturday 23 December 2006
Hoe maak ik een Style voor mij websit ?? weet u een websit
?? wat je alles kan maaken en zo laat mij dan weeten liefs simone
Op Saturday 28 April 2007
Ik heb een navigatie gemaakt op bovenstaande wijze, maar dan vertikaal. Ik heb echter ook submenu’s, die ik van een andere layout wil voorzien. Nou wil het dat de submenu’s (ook een lijst) de layout meekrijgen van de div “navigatie”. Hoe kan ik die lijst van submenu’s anders opmaken?
Op Sunday 29 April 2007
Door een diepere CSS bepaling te doen:
#navigatie ul li ulOp Sunday 29 April 2007
Doe ik een diepere CSS en geef deze bijv. een andere achtergrondkleur, wordt toch de kleur van #navigatie weergegeven.
Op Tuesday 25 August 2009
Hoi,
Wat een geweldige uitleg. Is het ook mogelijk om met bovenstaand menu een up te creeeren om aan te geven waar de bezoeker zich bevindt. Het liefst door een ander achtergrond plaatje?
Het zou fijn zijn als je me verder kunt helpen.