/ /スクロールブロック内のヘッダーを修正-html、css、ヘッダー、オーバーフロー、修正

スクロールブロック内の固定ヘッダ - html、css、header、overflow、fixed

私は、スクロールしないヘッダーがあるかどうかに関係なく、スクロールバーのあるブロックを作成しようとしています。トリックは、ヘッダーの幅 〜すべき スクロールバーの存在によって影響を受ける。

これは簡単なはずのCSSの使用例の1つであると心配していますが、実際には不可能である可能性があります。

回答:

回答№1は1

ここにいくつかのポインタがあります

http://davidchambersdesign.com/css-fixed-position-headers/

そして、そこには固定されたヘッダーとスクロールする本体を持つテーブルが含まれます

  1. http://imar.spaanjaars.com/357/a-scrollable-table-with-a-fixed-header
  2. http://anaturb.net/csstips/sheader.htm

回答№2の場合は1

CSSだけでこれを行うことはできません。 javaScriptを使用する必要があります。 jQueryを使用すると、次のことができます

var cw = $("#container").innerWidth(),
cs = $("#container").scrollTop();

$("#header").css({
"width": cw + "px"
});

$("#container").scroll(function() {
$("#header").css({
"top": $("#container").scrollTop(),
})
})

動作例を確認してください。 http://jsfiddle.net/VswxL/2/


回答№3の場合は1

CSSでこれを行う方法がわかりません一人で。したがって、「JavaScript(ここではjQuery)を使用するソリューションですが、コンテンツが変更されたときにのみ実行されます。ラッパーのサイズがウィンドウのサイズに依存する場合は、サイズ変更時にも実行する必要がある場合があります。ここで」その中心:

$.fn.fitTo = function(target){
var $el = $(this);
$(target).bind("refit", function(){
$el.width(this.clientWidth);
});
}

コール $header.fitTo($content) ヘッダーをカスタムにバインドする refit コンテンツを持つ要素のイベント。ここで、スクロールバーが表示または非表示になるようにコンテンツが変更された場合は常に、実行してください...

$content.trigger("refit");

…そしてヘッダーの幅はにリセットされます clientWidth コンテンツを含む要素の。ヘッダーは 外側 スクロール要素。

実例