Hallo,

Momenteel heb ik het volgende:


#menu{
vertical-align: middle;
margin:0;
padding:0;  
border:#a1a1a1;
border:double;
position:absolute;
left:14%;
top:3%;
height:5%;
width:5%;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}


Dit is een menu. Deze roep ik aan met:

<div id="menu"><center>Stad</center></div>

Echter wil ik dat het woord Stad ook verticaal gecentreerd wordt, wat nu niet gebeurd. Wat doe ik fout?
Als dat werkelijk ook de HTML is voor je menu zou ik even overnieuw beginnen. We beschouwen een menu namelijk als een lijst in HTML. Dat houd dus in dat je ongeordende lijst nodig heb en het link element van HTML.


<ul class="menu">
	<li><a href="/stad.html">Stad</a></li>
	<li><a href="/dorp.html">Dorp</a></li>
</ul>


Een menu zou er dan zo uitzien in HTML. Vervolgens kun je dan met CMS hier een horizontale of verticale balk van maken zoals je wellicht al uitgevonden had. In die balk kun je dan de knoppen opmaken.

Bijvoorbeeld:


.menu {
	width: 500px;
	height: 50px;

	list-style: none;
	margin: 20px auto 0 auto;

	background-color: blue;
}
.menu li {
	margin: 0;
	padding: 0;
	float: left;
}
.menu li a {
	width: 70px;
	height: 50px;

	float: left;
	color: #FFF;
	
	text-align: center;
	line-height: 50px;
}
.menu li a:hover {
	color: #000;
	background-color: grey;
}


De regel line-height zorgt er in dit geval voor dat de tekst, stad en drop ook horizontaal in het midden van de knop zitten. Dat is een handige truc hiervoor. Mocht je echter grote dingen horizontaal in het midden uit willen lijnen, dan heb je wel wat anders nodig.
Als je googled op "verticaal uitlijnen" of "tekst verticaal uitlijnen" kom je nog veel meer dingen tegen, waaronder dus ook wat ik hierboven geplaatst heb.
Hartelijk bedankt, het is gelukt!

Reageren