[CSS] position:relative en z-index geven problemen

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

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 21:02
Ik probeer dmv. het z-index attribuut verschillende elementen bovenop elkaar te zetten. Dit wil vreemd genoeg alleen lukken als 1 van de elementen position:absolute als style heeft en ik wil dit nu juist in postition:relative doen (aangezien beide elementen relatief van een container gepositioneerd moeten worden).

In de CSS specificatie staat het volgende over z-index:
'z-index'
Value: auto | <integer> | inherit
Initial: auto
Applies to: positioned elements
Dus je zou verwachten dat het ook gewoon op elementen met position: relative zou moeten werken.

Hieronder een voorbeeldje:
code:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <title>Z-index test</title>
  <style type="text/css">
    #container1 {
        position: relative;
    top: 0;
    left: 0;
    z-index: 1; 
    }
    #container2 { 
        position: relative;
        top: 0px;
        left: 45%;
        z-index: 2; 
    }
  </style>
</head>
<body>
  <p id="container1">Text1</p>
  <p id="container2">Text2</p>
</body>
</html>


Dit geeft als resultaat dat de normale flow wordt aangehouden en de elementen niet gestapeld worden. Heeft iemand een idee wat dit veroorzaakt en hoe ik dit kan oplossen?

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Waarom gebruik je daarvoor een paragraaf en geen division? Dus:

HTML:
1
2
3
4
5
6
7
8
<body>
 <div id="container1">
  <p>Tekst 1</p>
 </div>
 <div id="container2">
  <p>Tekst 2</p>
 </div>
</body>

  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 21:02
Dat maakt in dit geval niets uit (heb het even getest) maar naar mijn weet zijn het allebei block level elements dus zijn de div tags overbodig (toch?).

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

position: relative zorgt er juist voor dat elementen RELATIEF gezien geplaatst en gerendered worden.

Dus Z-index is niet van toepassing omdat die elementen elkaar toch niet zullen overlappen. Pas als je gaat positioneren dmv position: absolute en top|left|right|bottom:xx, dan kunnen objecten elkaar overlappen en zal z-index worden toegepast :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • SiErRa
  • Registratie: Februari 2000
  • Laatst online: 21:02
Dat klinkt inderdaad wel logisch, dan zit ik toch aan absolute vast :(

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

SiErRa schreef op dinsdag 22 maart 2005 @ 11:14:
Dat klinkt inderdaad wel logisch, dan zit ik toch aan absolute vast :(
Wat is daar 't probleem van?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Probeer eens uit te leggen wat je precies wilt bereiken, want naar mijn idee is het (zoals BtM909 ook al suggereerd) op een normale manier op te lossen door goed gebruik van HTML/CSS...
Pagina: 1