[HTML & CSS] Absoluut gepositioneerde div op 100% breedte

Pagina: 1
Acties:
  • 204 views sinds 30-01-2008
  • Reageer

  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 20-04 14:48

Rexomnium

Vincam aut moriar

Topicstarter
Ik heb een layout met een logobalk op 100% schermbreedte. Deze is gepositioneerd op top: 0px; en left: 0px;. Daaronder heb ik een menuutje. Deze heeft ook 100% breedte en is absoluut gepositioneerd op top: 50px; en left: 0px;.

Hieronder moet een div box komen die ook op 100% schermbreedte is, maar aan beide zijden een marge van 10px heeft. Ik heb het geprobeerd om de div in een andere div van 100% breedte te zetten, maar dat leverde niets op, want dan moet ik nog steeds zijwaarts scrollen.

Cascading Stylesheet:
1
2
3
4
#weekholder_div1 {
position: absolute; top: 90px; width: 100%; }
#weekholder_div2 {
margin-left: 10px; margin-right: 10px; border: 1px solid black; }


Bovenstaande code werkt dus niet. Kan iemand mij vertellen hoe ik een div over de volle breedte van het scherm kan krijgen op 10 pixels aan beide zijdes na?

We zijn allemaal vaandeldrager in een optocht van gekwetsten.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:23

crisp

Devver

Pixelated

Rexomnium schreef op maandag 02 januari 2006 @ 22:07:
Ik heb een layout met een logobalk op 100% schermbreedte. Deze is gepositioneerd op top: 0px; en left: 0px;. Daaronder heb ik een menuutje. Deze heeft ook 100% breedte en is absoluut gepositioneerd op top: 50px; en left: 0px;.
Waarom gebruik je daarvoor absolute positioning? blocklevel-elementen nemen standaard al de volledige breedte in...
Bovenstaande code werkt dus niet. Kan iemand mij vertellen hoe ik een div over de volle breedte van het scherm kan krijgen op 10 pixels aan beide zijdes na?
Gewoon margin-left en -right op 10px zetten zou genoeg moeten zijn voor een gewoon blocklevel element.

Intentionally left blank


  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 20-04 14:48

Rexomnium

Vincam aut moriar

Topicstarter
crisp schreef op maandag 02 januari 2006 @ 22:39:
[...]

Waarom gebruik je daarvoor absolute positioning? blocklevel-elementen nemen standaard al de volledige breedte in...

[...]

Gewoon margin-left en -right op 10px zetten zou genoeg moeten zijn voor een gewoon blocklevel element.
Werkt niet als ik de bovenste 2 blocklevel-elementen ook op 100% zonder position zet. De balk die ik daarmee creeer, komt 10 pixels van de linkerkant af te staan, maar loopt 10 pixels door in de rechterkant, wat dus zijwaarts scrollen veroorzaakt.

Ik heb nu 3 blocklevel-elementen:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
body {
margin: 0px; }

#header {
width: 100%; 
height: 44px;
background-color: #036; 
border-bottom: 1px solid white; 
color: white; 
text-align: right; }

#navigation {
width: 100%; 
background-color: #006699; 
color: white; 
height: 25px; 
border-bottom: 1px solid black; }

#weekholder {
width: 100%; 
margin: 20px 10px 0px 10px; 
border: 1px solid black; }


Als ik deze in de HTML zet met
<div id="header">Titel</div>
<div id="navigation">navigatie</div>
<div id="weekholder">Hierin komt de week</div>

Werkt dat dus niet, want ik krijg dit resultaat:
Afbeeldingslocatie: http://www.larsmunne.nl/meuk/ehrm.gif

[ Voor 5% gewijzigd door Rexomnium op 02-01-2006 23:29 ]

We zijn allemaal vaandeldrager in een optocht van gekwetsten.


  • Victor
  • Registratie: November 2003
  • Niet online
Rexomnium schreef op maandag 02 januari 2006 @ 23:29:
[...]


Werkt niet als ik de bovenste 2 blocklevel-elementen ook op 100% zonder position zet. De balk die ik daarmee creeer, komt 10 pixels van de linkerkant af te staan, maar loopt 10 pixels door in de rechterkant, wat dus zijwaarts scrollen veroorzaakt.

Ik heb nu 3 blocklevel-elementen:
Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
body {
margin: 0px; }

#header {
width: 100%; 
height: 44px;
background-color: #036; 
border-bottom: 1px solid white; 
color: white; 
text-align: right; }

#navigation {
width: 100%; 
background-color: #006699; 
color: white; 
height: 25px; 
border-bottom: 1px solid black; }

#weekholder {
width: 100%; 
margin: 20px 10px 0px 10px; 
border: 1px solid black; }


Als ik deze in de HTML zet met
<div id="header">Titel</div>
<div id="navigation">navigatie</div>
<div id="weekholder">Hierin komt de week</div>

Werkt dat dus niet, want ik krijg dit resultaat:
[afbeelding]
Probeer de width eens weg te halen, wellicht dat het met default waarde (auto) wel goed gaat.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 07:23

crisp

Devver

Pixelated

haal dan ook die width: 100% weg ;)

En zet voor de zekerheid (en voor Opera) ook de padding van je body-element op 0

[ Voor 8% gewijzigd door crisp op 02-01-2006 23:34 ]

Intentionally left blank


  • Dennis
  • Registratie: Februari 2001
  • Nu online
Niet zo netjes, maar een noodoplossing is altijd een <div> in die <div> te zetten met daarin een padding en die de eigenlijke content te laten bevatten.

  • Victor
  • Registratie: November 2003
  • Niet online
Dennis schreef op maandag 02 januari 2006 @ 23:39:
Niet zo netjes, maar een noodoplossing is altijd een <div> in die <div> te zetten met daarin een padding en die de eigenlijke content te laten bevatten.
Dat is net zo min een oplossing als het gebruik van tables om je pagina mee op te maken. Dit soort problemen liggen bij je CSS, dus je fixt ze ook met CSS. Niet door elementen toe te voegen.

  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 20-04 14:48

Rexomnium

Vincam aut moriar

Topicstarter
crisp schreef op maandag 02 januari 2006 @ 23:33:
haal dan ook die width: 100% weg ;)

En zet voor de zekerheid (en voor Opera) ook de padding van je body-element op 0
Hartstikke bedankt iedereen. Het werkt :)

We zijn allemaal vaandeldrager in een optocht van gekwetsten.

Pagina: 1