Zoals al aangegeven, absolute positionering is niet handig. Je zou beter relatief positioneren (dan werken top en left ook nog tov het vorige block element), static positioneren (en dan met behulp van een marge de zaak positioneren) of (in jou geval waarschijnlijk) je block element willen floaten. Bovendien is het handig om de css op te slaan in een aparte file (dit is in mijn voorbeeld nog niet gedaan) en geen inline zooi te gebruiken. Daarbij is het zaak dat je een logische structuur (mbv Hx's) opbouwt in je html pagina, zoals je dat ook in een document zou doen. Als laatste wil ik je meegeven dat je de elementen moet gebruiken waarvoor ze bedoelt zijn, semantische html dus. Je gebruikt bijv. een p voor een paragraph, enz. Hier is genoeg over te vinden. Ik gebruik ik mijn voorbeeldje een ul voor een menu; daar valt nog over te twisten, maar dat wordt vrij veel gedaan.
Onderstaand jouw code waarmee ik een beginnetje heb gemaakt zodat je alles in semantische html zou kunnen omzetten. Verder biedt de div container de gewenste centreer functie als het goed is. Ik heb het maar zo snel uit mijn mouw geschud dus er kunnen fouten inzitten. ajb:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Midden Aarde - Kaarten</title>
<link ref="shortcut icon" href="http://www.midden-aarde.nl/icoon.ico">
<meta http-equiv="Content-Type" content="text/html; charset=windows-125">
<meta name="keywords" content="Midden aarde, tolkien, in de ban van de ring, silmarillion, kaart">
<meta name="description" content="kaarten van de verschillende era van Midden-aarde">
<meta http-equiv="Content-Language" content="nl">
<style type="text/css">
#container { margin: 0 auto; }
.invisible {
display: none;
position: relative; /* zodat je absolute positioning tov deze container gebeurt */
}
#menu {
margin: 10px 0 0 0; /* dit moet je ff juist instellen, zodat de marge juist is */
list-style: none;
width: 197px;
height: 90px;
position: absolute;
z-index: 3;
left: 27px;
top: 40px;
}
#menu li { margin: 0; padding: 0; }
#menu li a {
font-color: #800000;
font-weight: bold;
}
#menu li.even-item a { font-color: #CEB54D; }
</style>
</head>
<body>
<div id="container">
<h1 class="invisible">Midden Aarde<h1>
<h2 class="invisible">Menu<h2>
<ul id="menu">
<li><a href="index.htm" title="blabla">Homepage</a></li>
<li class="even-item"><a href="artikelen.htm" title="blabla">Artikelen (A-Z)</a></li>
<li><a href="zoeken.htm" title="blabla">Zoeken</a></li>
<li class="even-item"><a href="Forum">Forum<a></li>
</ul>
<div style="position: absolute; width: 186px; height: 171px; z-index: 4; left: 26px; top: 737px" id="layer3">
[......]
</div>
</div>
</body>
</html> |
Tenslotte wil ik je nog meegeven dat het verstandig is om altijd een DTD toe te voegen aan het eerste element, de html tag. Daarmee zorg je ervoor dat je IE (of FF that is) aan de hand van een bepaalde modus rendert. Op deze manier weet je iig wat er zo ongeveer gaat gebeuren. Verschillende box-models kunnen op deze manier in het geval van IE namelijk getriggered worden.
[
Voor 1% gewijzigd door
Sappie op 18-04-2007 15:45
. Reden: Foutje gespot ]