2013-01-21 4 views
1

J'ai lutté avec ce problème pendant plus de 2 heures, Yat-il un moyen de faire un div fixe alors qu'il est à l'intérieur d'un div plus grand. Lorsque je défile, je souhaite que la partie droite ne défile pas.un div fixe à l'intérieur d'un autre div

scroll image

Ma question est, est-il un moyen de le faire sans jquery?

Merci

+1

Pouvez-vous un peu de code? Qu'avez-vous essayé? Cela devrait être possible en utilisant simplement CSS. – Charles

+0

il est un peu difficile d'isoler le code pour jsfiddle donc voici le lien http://www.noties.me/index.php, si vous cliquez sur la première date januari vous pouvez voir la div je parle de – user1213904

Répondre

6

Vous devez positionner le div interne absolute ly:

.outerDiv { 
    position: relative; 
    /* give it some height */ 
} 
.contentDiv { 
    height: 100%; 
    overflow: auto; 
} 
.innerDiv { 
    position: absolute; 
    right: 0; 
    left: 50%; 
    top: 0; bottom: 0; 
} 

est ici le violon: http://jsfiddle.net/wSxss/


ajuster les valeurs de positionnement en fonction de vos besoins.

+0

oui je cherche ça, laisse voir si je peux l'appliquer à mon code car j'ai déjà utilisé la position absolue. – user1213904

+0

pour une raison quelconque, je ne peux toujours pas le laisser défiler, je me demande si cela doit faire parce que je laisse défiler toute la boîte popup au lieu de seulement la partie gauche (heure et info) de la div. – user1213904

+0

@ user1213904 - Je ne suis pas sûr de vous suivre. Est-ce que mon violon fonctionne pour vous? –

0

This fiddle demonstrates the following solution:

HTML

<div class="wrapper"> 
    <div class="scroller></div> 
    <div class="fixed"></div> 
</div> 

CSS (exemple des éléments clés)

.wrapper { 
    position: relative; 
    height: 40px; 
    overflow: hidden; 
} 

.scroller { 
    padding-right: 200px; 
    height: 100%; 
    overflow: auto; 
} 

.fixed { 
    position: absolute; 
    top: 0; 
    right: 15px; 
    bottom: 0; 
    width: 160px; /* .scroller padding minus the right offset to accomodate scroll bar and minus any real separation between it and the scroller */ 
}