Tekst verticaal centreren in een div

Status
Niet open voor verdere reacties.

antonwas

Gebruiker
Lid geworden
11 nov 2006
Berichten
254
Beste allemaal,

Ik zit met het volgende probleem. En ik ben niet de enige want het internet staat er vol mee. Toch blijft het lastig. Zeker als je met relatieve waardes werkt, zoals ik.
Ik wil graag een
HTML:
<h1>
element verticaal centreren in een header-div. Het gaat hier om #top h1. Deze moet verticaal gecentreerd komen te staan in #top.

Hier is mijn code:

HTML:
Code:
<html>
	<head>
		<title>Beheren van onze database Adreslijst</title>
		<link rel="stylesheet" type="text/css" href="invoeren.css">
	</head>

	<body>	
		<div id="container">
		  <div id="top">
		    <h1>Beheren van onze database Adreslijst</h1>
		  </div>  		
  		</div>	
			<div id="leftnav">
				<ul class="lijst">
          <li><a href="invoeren.php">Gegevens invoeren</a></li>
          <li><a href="opvragen.php">Gegevens opvragen</a></li>
          <li><a href="verwijderen.php">Gegevens verwijderen</a></li>
          <li><a href="aanpassen.php">Gegevens aanpassen</a><br><br></li>
        </ul> 
			</div>
			<div id="content">
				<form action="invoeren.php" method="POST">
          <table>
            <tr>
              <td>Naam: </td>
              <td><input type="text" name="naam"></td>
            </tr>
            <tr>
              <td>Vooraam: </td>
              <td><input type="text" name="voornaam"></td>
            </tr>
            <tr>
              <td>Straat: </td>
              <td><input type="text" name="straat"></td>
            </tr>
            <tr>
              <td>Nummer: </td>
              <td><input type="text" name="nummer"></td>
            </tr>
            <tr>
              <td>Postcode: </td>
              <td><input type="text" name="postcode"></td>
            </tr>
            <tr>
              <td>Plaats: </td>
              <td><input type="text" name="plaats"></td>
            </tr>
            <tr>
              <td>Telefoon thuis: </td>
              <td><input type="text" name="telefoon_thuis"></td>
            </tr>
            <tr>
              <td>Telefoon werk: </td>
              <td><input type="text" name="telefoon_werk"></td>
            </tr>
            <tr>
              <td>Gsm 1: </td>
              <td><input type="text" name="gsm_1"></td>
            </tr>
            <tr>
              <td>Gsm 2: </td>
              <td><input type="text" name="gsm_2"></td>
            </tr>
            <tr>
              <td>E-mail: </td>
              <td><input type="text" name="email"></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
            <tr>
              <td><input type="submit" name="invoeren" value="Gegevens invoeren"></td>
            </tr>
          </table>
        </form>
		  </div>
	 </body>	
</html>

en de CSS:

Code:
body
{
	margin: 0;
}

#container
{
  width: 100%;
  height: 100%;
}

#top
{
  background-color: DCC54E;
  border-bottom: 10px solid black;
  height: 10%;
  width: 100%;
  margin: 0;
  min-height: 1em;
  vertical-align: middle; 
    
}

#top h1
{
  padding: 0;
  margin: 0;
  text-align: center;
  
}

#leftnav
{
  float: left;
  width: 10%;
  height: 100%;
  margin: 0;
  padding: 0.1em;
  text-align: left;
}

Hopelijk weet iemand een oplossing. Ik denk ook dat het niet zo moeilijk is, alleen het lukt mij niet!

Mvg,

Anton
 
Hoi Anton,
Heb je al eens {display: table-cell; vertical-align: middle;} uitgeprobeerd? Zie css2.1-spec.

Met vriendelijke groet,
CSShunter
 
Ja ik heb deze mogelijkheid geprobeerd, maar hij werkt niet. De H1-kop wordt dan links boven uitgelijnd. Dus ook de horizontale uitlijning werkt niet meer. (niet in FF wel in IE)
 
Hoi Anton,
'k Heb even een testpagina met je gegevens gemaakt, maar ik snap 'm niet helemaal. De #container eindigt al meteen na de #top, maar zou wel 100% hoog moeten zijn? En waarom zou de #top 10% van de schermhoogte moeten zijn?
In elk geval: je kan de h1 in het verticale midden van de #top krijgen met een gelijke margin-top en margin-bottom, als je die #top-hoogte er uit laat; bv.:
Code:
#top h1 {
    margin: .5em 0;
    padding: 0;
    text-align: center;
    }
Met vriendelijke groet,
CSShunter
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan