2010-06-26 8 views
0

J'ai un div 300 x 200px, et je mets quelques mots avec 180px font-size.Pourquoi un élément HTML modifié en "position: relative" couvrira d'autres éléments?

Ci-dessous, il y a 2 images. Donc, naturellement, les images couvrent les mots, parce que les images sont à un stade ultérieur du document, de sorte qu'il couvrira les éléments précédents. (Si les éléments HTML sont visualisés comme dans une structure arborescente, alors c'est l'ordre de la profondeur-première-recherche)

Mais une fois que j'ai changé le CSS de cette div à position: relative, alors les mots couvriront partiellement les images . (O couvrira les images seulement là où il y a un coup de la lettre, l'espace O montrera toujours les images par)

Je pensais seulement en changeant l'index de z je peux le faire couvrir les images? Les mots sont toujours dans le flux normal du document ... y a-t-il une règle spéciale qui dit position: le parent est censé couvrir les autres éléments non-positionnés?

+0

Pouvez-vous montrer un peu de code? –

+0

Sans code, c'est difficile à dire, mais cela a probablement quelque chose à voir avec le contexte d'empilement et le niveau d'empilement. [Cette page] (http://css-discuss.incutio.com/wiki/Overlapping_And_ZIndex) a une très bonne description de l'effet. – Mike

Répondre

1

Oui, le positionnement, l'index z et le flottement ont tous une influence sur l'empilement relatif des éléments. Et l'héritage de ces propriétés des ancêtres.

Vous trouverez un bon tutoriel/explication sur le site Web de Mozilla: Understanding CSS z-index et un outil pour visualiser et jouer avec sur le site de tjkdesign: How z-index works! (l'article relatif est plus court que celui de mozilla BTW;))
IE (utilisé pour) se comporte (s) ... différemment (au moins IE < 8 modifier: pas IE9 + et Edge)