La Position d'un Div “Fixe” Verticalement " et “Absolue” Horizontalement dans une “Position:Relative” Conteneur Div

Je suis à la recherche d'un moyen pour que je puisse créer un div qui sera fixée sur la page verticalement, de sorte que si l'utilisateur fait défiler vers le bas, le div reste à la même place sur la page. Mais placé absolument horizontalement, de sorte que si l'utilisateur de l'écran est plus étroite que ma page, le défilement vers la droite ou la gauche ne sera pas causer de la div pour se déplacer à l'écran et, dans certains cas, rester soit à moitié visible sur le bord de l'écran ou la page complètement.

Cette div doit être dans une "Position:Relative" Div.

Je suis assez sûr il n'y a pas de moyen pour assigner les différentes positions de la variable de l'axe d'un div, mais c'est la meilleure façon de décrire l'effet dont je suis l'espoir de l'atteindre.

J'ai cette mesure, qui est fondamentalement juste un Fixe Div à l'intérieur d'une Relative Div.

CSS

#container {
position:relative;
width:700px;
height:1000px;
top:50px;
left:50px;
background-color:yellow;
}

#blue-box{
position:fixed;
width:100px;
height:100px;
background-color:blue;
margin-top:20px;
margin-left:400px;
{

HTML

<div id="container">
<div id="blue-box"></div>
</div>

J'ai également créé un jsFiddle pour aider à démontrer le problème.

Cela fonctionne très bien pour la verticale, mais si vous redimensionnez votre navigateur internet de sorte qu'il est plus étroite que la zone jaune (conteneur) et puis faites défiler l'écran horizontalement, la boîte bleue se déplace avec la page. Je suis l'espoir d'empêcher ça.

Si il n'y a aucun moyen d'atteindre cet objectif par le CSS, je suis parfaitement d'accord pour l'utilisation de JavaScript aussi longtemps que cela fonctionne avec tous les navigateurs modernes et à la fois IE7 et IE8. (C'est pourquoi j'ai ajouté la balise JavaScript)

Quelqu'un peut-il m'aider?

OriginalL'auteur Flickdraw | 2011-11-30