2012-02-02 9 views
1

CSSとjQueryで固定テーブルヘッダーを実装する際に問題がありますが、実際問題はCSSだけです。誰かが私が見ているものを見たことがあり、それを修正するために何をしたのだろうかと思います。固定テーブルヘッダーでオーバーフロー-xに問題がある

まず、コードはここにある:http://billf.org/work/tables/table.html

あり、外部スタイルシートだと、すべてのJSコードは、HTMLファイルの一番下にあります。

このコードは壊れているだけでなく、IE7でもIE8でも、Mozilla/Webkitでは壊れています。私は合計で3つの方法があります。問題が解決したら、すべての問題は解消されることを願っています。

OK。したがって、ウェブページをスクロールすると、ウィンドウのscrollTopが表のトップオフセットよりも大きくなると、ヘッダー行がスティッキーになり、ユーザーがページをスクロールするときに列見出しが表示されます。問題は、thead要素のoverflow-xおよびtext-overflowプロパティが固定されると、もはやそれが尊重されなくなるため、ヘッダー列が吹き飛ばされ、その下のコンテンツに一直線上にないことです。

しかし、固定を固定位置に設定するだけで問題を再現することもできます。これはあたかもtheadが固定位置で表示されたときにoverflow-x:hiddenが尊重されなくなったかのようです。

何が起こっているのか、それを回避する方法についてのお手伝いがあれば幸いです。

事前に感謝します。 --Bill

+0

-ix?それはちょうど-xですか? –

+0

それはオーバーフローではない - それは問題だ、私は、それは幅が従われていないという事実だとは思わない。私は、それはテーブルのコンポーネント上で "位置:固定"を使用しようとしていると思うかもしれませんが、それは一種の火災で遊んでいるかもしれません。テーブルレイアウトは狂って複雑で、おそらくレンチを機構に投げ込んでいるだけです。 – Pointy

+0

Pointyさんの権利。位置を固定することで、実際にはテーブルの残りの部分から 'thead'を分離しています。私は最近、他の同様の質問のために[jsfiddle](http://jsfiddle.net/magicalex/ttXAZ/1/)を作成しました。 – magicalex

答えて

1

がこの拡大からセルを防ぐことができます

<th> 
<div style='overflow:auto;width:85px;'>text goes here</div> 
</th> 

このようなすべての目の、内側のdivを置く

か、「ホワイトスペースを取ることができ:nowrap; "プロパティを指定します。

+0

このページは機能しませんhttp://frank.bridgewater.edu/test/iframeResize/new.html –

+0

謝罪、チャーリー、これは確かに動作します。だから私は、動的に要素の幅を設定する代わりに、私は子のdivの幅を設定すると思います。ここであなたの助けをありがとうございます。 –

+0

また、私は非常に新しいユーザーであり、あなたの解決策をupvoteできません。もしできれば、私はできますか? –