2010-06-29 5 views
1

J'ai une chose de mise en page le long des lignes de:Anchor ne défile pas correctement

<div class="banner"></div> 
<div class="content"></div> 

Ma bannière a position:fixed; et est à peu près 200px élevé. Le problème est que lorsque je clique sur un lien avec un identifiant de fragment, la page défile et l'ancre (avec l'identifiant) se trouve en haut de la page, derrière la bannière au lieu de sous la bannière où elle peut être vu.

Y at-il quelque chose (CSS ou jQuery) qui me manque?

+0

Pouvez-vous poster votre CSS et le code HTML où l'ancre est? – Zacho

+0

vous ne pouvez compenser cela si vous utilisez le défilement javascript et ajouter/soustraire la hauteur de la bannière en conséquence .. c'est le point entier de 'position: fixed' .. pour le sortir du flux de document normal .. Alternativement, vous pouvez envelopper le reste de votre site avec un div, et le style de sorte que vous ne faites défiler à l'intérieur que .. –

+0

Un exemple de travail du problème aiderait énormément. –

Répondre

1

C'est un dup de Div anchors scrolling too far

Pour les demandes de voir exemple de code, j'ai mis une page échantillon complet ici: https://gist.github.com/denised/5924370.

La clé bit est la présence de deux divs (#header et #mainbody) et le bit suivant de css (qui je crois est une façon assez standard pour créer un en-tête fixe):

#header { 
    position:fixed; 
    left:0; right:0; top:0; 
    background-color: #F0F0E8; 
    z-index:2; 
} 

#mainbody { 
    position: absolute; 
    top: 150px; 
} 
Questions connexes