Comment faire un élément à la position fixe par rapport à son parent, et non pas la totalité de l'écran?
J'ai couru dans la situation que lorsque l'utilisateur de faire défiler vers le bas, une partie de la barre latérale obtient position fixe, mais quand je capture la position et de l'appliquer fixe css à la barre latérale de l'élément, il est résolu à l'ensemble de l'écran, et pas seulement le parent (qui est encadré)
comment puis-je configurer correctement?
An element with fixed position is positioned relative to the browser window.
- Fouad: Pouvez-vous partager votre code?
Vous devez vous connecter pour publier un commentaire.
D'Abord Comprendre Le Positionnement:
Si dans votre cas, votre parent
div
devrait avoirposition:relative
et votre enfantdiv
devrait avoirposition:absolute
au lieu deposition:fixed
Lien De Référence
À partir de la lecture de votre question, je suppose que vous avez quelque chose comme ceci:
Malheureusement, comme vous le savez probablement maintenant,
top
,left
,right
oubottom
toujours par rapport à la fenêtre du navigateur surpositon: fixed
éléments.La solution est d'emballage de votre
.fixed
div avec une autre div, et faire tout le positionnement que vous avez à faire sur la même enveloppe et non pas sur la.fixed
div. Permettez-moi de démontrer:Le code HTML:
Le CSS:
Le voir en action dans ce violon: http://jsfiddle.net/joplomacedo/T2PL5/
Faire le parent
position: relative
puis ses enfants vont l'utiliser comme référence pourabsolute
de positionnement. Pour les détails, voir le Définition de "contenant le bloc" dans le CSS 2 spécifications.Sur
fixed
positionnement: comment quelque chose peut être fixe (ce qui signifie fixe à la fenêtre d'affichage), mais toujours par rapport à un autre élément, qui n'est pas fixé à la fenêtre? Ce qui semble une contradiction pour moi, ce qui est la raison pour laquelle j'ai d'abord mal compris votre question.absolute
, pas pourfixed
.absolute
.Ce plugin est exactement ce dont vous avez besoin