更新:これは、と アンカー<div>
の組み合わせによる の非常に特殊な問題であることがわかりました。overflow: hidden
それを回避する確実な方法はないようです。を削除しましたoverflow: hidden
。これでアンカーの問題は解決しますが、列の下に余分なスペースが作成されます。これはそれほど大きな問題ではありませんが、を使用せずにオーバーフローを取り除く方法を誰かが知っている場合はoverflow: hidden
、提案を歓迎します。更新終了
私は、ヘッダーが<div>
2 つ以上の列にあるかなり単純な Web サイトを持っています。ヘッダーと列は 1 つのコンテナーにあります。ヘッダーは固定されていません。下にスクロールすると、ヘッダーが表示されなくなります。
さて、私の問題は、右の列に追加したいアンカーにあります。アンカー自体は正しく機能します。ページの上部にあるリンクをクリックすると、問題なくジャンプし<h2>
ます。希望どおりに、タイトルを画面の上部に配置します。ただし、問題は、スクロールして一番上に戻ると、列のコンテンツの上部がヘッダーの後ろに移動することです。最初はページの一番上までずれていると思っていましたが、そうではないことがわかりました。ピクセル数が何に対応するのかわかりません。列自体は適切な長さを保っているようです。テキストの下に余分な空白ができました。
このウェブサイトで他の人の質問をいくつか読みましたが、それらはすべて固定ヘッダーを扱っており、アンカータグ自体がヘッダーの後ろに消えてしまうという問題がありました。この問題に対して提案された解決策を試しましたが、アンカー タグがページ上で低すぎて表示され、列の上部がヘッダーの後ろに表示されるという問題が解決しません。
どなたか、これを直す方法をご存知ないでしょうか...?
ページ設定用の私の HTML:
<div id="container">
<div id="header">
</div>
<div id="columns">
<div id="leftcolumn">
</div>
<div id="rightcolumn">
</div>
</div>
</div>
ヘッダーと列の私の CSS:
#header {
width: 738px ;
height: 298px ;
padding: 0px ;
position: relative;
}
#container {
width: 738px ;
margin-left: auto ;
margin-right: auto ;
margin-top: 0px ;
margin-bottom: 0px ;
padding: 0px ;
}
#columns {
position: absolute;
margin-top: 0px;
margin-bottom: 0px ;
width: 738px ;
background: #b43232 url(fauxcolumns.jpg) ;
overflow: hidden ;
}
#leftcolumn {
float: left;
width: 254px ;
margin-top: 0px ;
padding: 0px ;
}
#rightcolumn {
margin-left: 254px ;
margin-top: 0px ;
padding: 0px ;
}
最後に、アンカー用の HTML:
<a href="#text">Text</a>
<p>Text in between the top and the anchor.</p>
<a name="text"><h2>Text</h2></a>
<p>This is the text the anchor wants to take you to.</p>
要約すると、アンカーは機能しますが、スクロールして一番上に戻ると、コンテンツの上部がヘッダーの後ろに移動しています。したがって、ヘッダーの後ろのランダムな場所ではなく、列のコンテンツを列の上部に揃えたいと思いますが、その方法は想像できません。いずれかまたは両方の列にtop
orを個別に設定しても機能しません。他に思いつかない…margin-top
#columns
誰にもアイデアはありますか?