これには他にも多くのトピックがあることを知っています。実際、他の誰かが投稿したサンプルコードから始めて、それを自分のニーズに合わせて微調整することができました。私の問題は、テーブル ヘッダーを常に中央に配置できないことです。
#TableHeaderFixed {
position:fixed;
margin:0 auto 0 auto;
top:0px;
width:900px;
display:none;
}
「display:none」について心配する必要はありません。私の JavaScript は、可視化と非可視化を処理します。「マージン」パラメーターが「トップ」パラメーターと競合しているかどうかを調べて確認しようとしています。ここに重要な点があります。margin パラメータを削除できます。しかし、トップを削除したり、他のものに変更したりすることはできません。私のjavascriptはそれに依存しています。はい、それは固定位置である必要があります。悪いが、それは私が働かなければならないことだ。私はすでに使用してみました
top:0
left:50%
margin-left:-250px
左はそれを中央に配置し、左の余白はそれを元に戻すために幅の半分を構成しますが、これは機能しません。前述のように、margin-left は左と競合しているように見えます。これは、margin コマンドが機能しないため、中心からずれているためです。
詳細が必要な場合はお知らせください。
アドオン:
<asp:Table ID="UnitList2" runat="server" />
<asp:Table ID="TableHeaderFixed" runat="server" />
.
<script type="text/javascript">
var tableOffset = $("#UnitList2").offset().top;
var $header = $("#UnitList2 > thead").clone();
var $fixedHeader = $("#<%= TableHeaderFixed.ClientID %>").append($header);
$(window).bind("scroll", function () {
var offset = $(this).scrollTop();
if (offset >= tableOffset && $fixedHeader.is(":hidden")) {
$fixedHeader.show();
}
else if (offset < tableOffset) {
$fixedHeader.hide();
}
});
.
<style>
#TableHeaderFixed {
position:fixed;
margin:0 auto 0 auto;
top:0px;
width:900px;
display:none;
}
</style>
したがって、UnitList2 テーブル ヘッダーの複製を取得し、実際のヘッダーを超えてスクロールすると表示され、上にスクロールすると非表示になるのは Javascript であることがわかります。
サーバー側のスタイリング
TableHeaderFixed.Width = "900"
TableHeaderFixed.Attributes.CssStyle.Add("margin-top", "0px")
TableHeaderFixed.Attributes.CssStyle.Add("margin-left", "auto")
TableHeaderFixed.Attributes.CssStyle.Add("margin-right", "auto")
TableHeaderFixed.CellPadding = "2"
TableHeaderFixed.CellSpacing = "0"