Ik ben bezig met een nieuw design voor mijn website. Het zit nogal ingewikkeld in elkaar en ik kom er even niet meer uit.
Hier is een preview van het design: http://www.alice-in-wonde...esign/test-resources.html
Wat ik wil, is dat het gedeelte met de content (de 'linker pagina', oftewel alles in de div genaamd 'mainpage'), gecentreerd op de pagina wordt weergegeven, ongeacht de browserbreedte. Behalve wanneer de pagina kleiner wordt dan 925 pixels: vanaf dat moment moet de website stoppen met centreren, en moet hij de content links uitgelijnd in het venster plaatsen.
Dat is me gelukt, via een combinatie van divs met left:50% / margin-left:-<waarde> en een div met margin:auto.
Het idee daarachter is, dat alleen de content in de mainpage relevant is, de divs daaromheen zijn opvulling om het mooier uit te laten zien bij hogere resoluties.
Maar aangezien ik nog behoorlijk wat bezoekers heb die op 800x600 surfen, moet de site ook daar geschikt voor zijn. Dat betekent, dat wanneer de browser minder breed wordt dan 925px, de content nog steeds goed zichtbaar moet zijn.
Naast het niet langer centreren maar links uitlijnen, moet er dus ook een horizontale scrollbar verschijnen bij zo'n lage browserbreedte. Alleen de inhoud van de mainpage div hoeft te scrollen.
En die scrollbar is hetgeen wat me nog niet gelukt is.
Wie kan mij vertellen hoe het moet?
Ter verduidelijking een voorbeeldje van hoe de site in verschillende resoluties moet werken:

De rechterpagina rekt dus uit al naar gelang de breedte van de browser. De twee divs om de mainpage heen (met de pagina-rand en de boekvouw) hebben een vaste breedte en plakken om de mainpage vast. Ze hoeven niet getoond te worden wanneer er geen plek voor is in de browser. Wanneer de browser ook te klein wordt voor de mainpage, hoef je met scollen alleen de mainpage heen en weer te kunnen bewegen; de pagina-rand en de boekvouw hoeven hier dus niet zichtbaar mee te worden.
De relevante html code:
De relevante CSS code:
Ik heb op diverse plekken in de site een div ingevoegd die voor dat scrollen zou moeten zorgen: om alles heen, om de mainpage div heen, in de mainpage div, etc. Zowel met width=100%, width=925px etc. etc. Maar het lukt me niet om dit te bereiken.
Ik kan de overflow:hidden op de html niet uitzetten, want dan scrollt veel meer dan alleen de mainpage, dan scroll je ook alles wat rechts daarvan zit mee.
Alvast super bedankt voor enige hulp die jullie kunnen bieden!
Hier is een preview van het design: http://www.alice-in-wonde...esign/test-resources.html
Wat ik wil, is dat het gedeelte met de content (de 'linker pagina', oftewel alles in de div genaamd 'mainpage'), gecentreerd op de pagina wordt weergegeven, ongeacht de browserbreedte. Behalve wanneer de pagina kleiner wordt dan 925 pixels: vanaf dat moment moet de website stoppen met centreren, en moet hij de content links uitgelijnd in het venster plaatsen.
Dat is me gelukt, via een combinatie van divs met left:50% / margin-left:-<waarde> en een div met margin:auto.
Het idee daarachter is, dat alleen de content in de mainpage relevant is, de divs daaromheen zijn opvulling om het mooier uit te laten zien bij hogere resoluties.
Maar aangezien ik nog behoorlijk wat bezoekers heb die op 800x600 surfen, moet de site ook daar geschikt voor zijn. Dat betekent, dat wanneer de browser minder breed wordt dan 925px, de content nog steeds goed zichtbaar moet zijn.
Naast het niet langer centreren maar links uitlijnen, moet er dus ook een horizontale scrollbar verschijnen bij zo'n lage browserbreedte. Alleen de inhoud van de mainpage div hoeft te scrollen.
En die scrollbar is hetgeen wat me nog niet gelukt is.
Wie kan mij vertellen hoe het moet?
Ter verduidelijking een voorbeeldje van hoe de site in verschillende resoluties moet werken:

De rechterpagina rekt dus uit al naar gelang de breedte van de browser. De twee divs om de mainpage heen (met de pagina-rand en de boekvouw) hebben een vaste breedte en plakken om de mainpage vast. Ze hoeven niet getoond te worden wanneer er geen plek voor is in de browser. Wanneer de browser ook te klein wordt voor de mainpage, hoef je met scollen alleen de mainpage heen en weer te kunnen bewegen; de pagina-rand en de boekvouw hoeven hier dus niet zichtbaar mee te worden.
De relevante html code:
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
| <div id="container"> <div id="mainpage"> <div id="header"></div> <div id="breadcrumb"></div> <div id="holder"> <div id="pagefiller"></div> <div id="menu"></div> <div id="content"></div> <div id="related"></div> </div> <div class="clear"></div> <div id="footer"></div> </div> <div id="leftpages"></div> <div id="fold"></div> <div id="rightpage"></div> </div> |
De relevante CSS code:
Cascading Stylesheet:
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
| html { margin: 0px; padding: 0px; width: 100%; height: 100%; overflow-x: hidden; } body { margin: 0px; padding: 0px; width: 100%; height: 100%; } #leftpages { position: absolute; top: 0px; left: 50%; margin-left: -498px; width: 36px; height: 100%; } #container { position: absolute; margin: 0px; padding: 0px; width: 100%; } #pagefiller { float: left; width: 1px; height: 400px; } #mainpage { position: relative; margin: 0px auto; background: #FEF3D7; width: 925px; } #header { position: relative; height: 100px; width: 925px; } #breadcrumb { position: relative; height: 30px; width: 885px; } #holder { position: relative; width: 925px; } #menu { position: relative; width: 160px; float: left; } #content { position: relative; width: 580px; float: left; } #related { position: relative; width: 148px; float: left; } #footer { position: relative; width: 100%; height: 40px; top: 40px; margin: 0 0 0 -35px; } #fold { position: absolute; top: 0px; left: 50%; margin-left: 462px; width: 236px; height: 100%; } #rightpage { position: absolute; top: 0px; left: 50%; margin-left: 698px; width: 50%; height: 100%; padding-bottom: 40px; } |
Ik heb op diverse plekken in de site een div ingevoegd die voor dat scrollen zou moeten zorgen: om alles heen, om de mainpage div heen, in de mainpage div, etc. Zowel met width=100%, width=925px etc. etc. Maar het lukt me niet om dit te bereiken.
Ik kan de overflow:hidden op de html niet uitzetten, want dan scrollt veel meer dan alleen de mainpage, dan scroll je ook alles wat rechts daarvan zit mee.
Alvast super bedankt voor enige hulp die jullie kunnen bieden!
[ Voor 21% gewijzigd door Millennyum op 01-09-2008 15:34 ]
