これが私のウェブサイトで見たいものです。本体の幅と3つの列(20%、70%、10%)のテーブル。ブラウザウィンドウのサイズが変更されると、テーブルのサイズも変更され、テーブルの列のサイズもそれぞれ変更されます。
左側の列(幅20%の列)にはDIV要素が含まれており、テキストが含まれています。
<body style="width:100%;">
<table style="width:100%;">
<tr>
<td style="width:20%">
<div style="position:relative;">
Here goes some text. This is a lot of text and usually should wrap around inside of the DIV element.
</div>
...
</tr>
</table>
</body>
これはすべて問題なく機能し、ラッピングもすべてです。これで、ユーザーがページを下にスクロールすると、DIV要素とそのコンテンツが上にスクロールしてウィンドウの外に出ます。
私がやりたいのは、DIVが表示領域を離れる前に、ブラウザの上部にDIVを「修正」することです。ユーザーが再び上にスクロールすると、DIVはブラウザーの上部から切り離され、通常の位置に戻ります。最終的な効果は、DIVが表示領域の内側をスクロールするか、そうでない場合はブラウザの上部にアタッチすることです。onscroll
これは、イベントにアタッチした単純なJavascriptコールバックを使用して実装されます。これにより、fixed
との間の位置が変更されrelative
ます。うまく動作します。
今私が気付いたのは、DIVの幅が変わることだけです!スクロールする限り、またDIVの位置がである限り、親TDの幅に等しくなりrelative
ます。Javascriptコールバックが位置をfixed
DIVの幅に変更した瞬間、変更されて隣接するテーブル列にオーバーフローします。
DIVの寸法を含めるにはどうすればよいですか?
ありがとう :)