0

我知道这方面还有很多其他的话题。事实上,这就是我能够从其他人发布的一些示例代码开始的方式,然后根据我的需要调整它。我的问题是我无法让表头始终居中。

#TableHeaderFixed {
    position:fixed;
    margin:0 auto 0 auto;
    top:0px; 
    width:900px;
    display:none;
}

不用担心我的 javascript 处理的“显示:无”将其带入和不可见。我一直在尝试阅读并查看“margin”参数是否与“top”参数冲突。这是关键:我可以删除边距参数。但我无法删除顶部,或将其更改为其他任何内容,我的 javascript 依赖于它。是的,它需要固定位置。糟透了,但这就是我必须解决的问题。我已经尝试过使用

top:0
left:50%
margin-left:-250px

左边会将它居中,然后左边的边距是弥补一半宽度以将其带回来,但这不起作用。再次,margin-left 似乎与 left 冲突,就像我之前提到的 top 如何与 margin 冲突一样,因为 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>

因此,您可以看到它是 Javascript,它复制了 UnitList2 表标题,然后在您滚动超出实际标题时使其可见,而在您向上滚动时不可见。

服务器端样式

        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"
4

2 回答 2

0

更新:

试试这些。

http://jsfiddle.net/EdwJv/

忽略代码,去fiddle

<table> 
<colgroup>
<col span="1" style="width: 10%;">
<col span="1" style="width: 20%;">
<col span="1" style="width: 70%;">
</colgroup>
<thead>....</table>

头部的 CSS

#hor-minimalist-b th {
    font-size: 17px;
    font-weight: normal;
    color: #719ECE;
    padding: 10px 8px;
    border-bottom: 2px solid #6678b1;
    text-align:center;
}
于 2013-04-26T19:03:04.627 回答
0

OP在编辑和评论中写道:

回答:

弄清楚了。

正在应用的 ASP css 样式优先于任何内联或 css 样式表规则。

在 ASP 代码中,我在 "margin-left:auto; margin-right:auto;" 行中添加了一个样式 尝试将其居中。然后,当我尝试将内联样式置于中心位置时,“left:50%; margin-left:-450px;” 由于 ASP 样式已应用或之后应用,因此它没有占用 css 边距,因此具有优先权。

感谢您的帮助 2207792 不过,像往常一样,通过它进行交谈会让您跳出框框思考

于 2016-11-26T20:50:36.797 回答