2013-04-26 101 views
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 

左側會居中已經嘗試過,那麼保證金左邊是化妝寬度的一半將其帶回,但這不起作用。再次,左邊緣似乎與左邊相沖突,就像我之前提到的top頂點與邊緣衝突一樣,因爲邊緣命令從不起作用,因此它偏離了中心位置。

讓我知道你是否需要更多的細節。

ADDON:

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

回答

0

更新:

嘗試這些。

http://jsfiddle.net/EdwJv/

忽略代碼,去撥弄

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

的頭

#hor-minimalist-b th { 
    font-size: 17px; 
    font-weight: normal; 
    color: #719ECE; 
    padding: 10px 8px; 
    border-bottom: 2px solid #6678b1; 
    text-align:center; 
} 
+0

雖然這是一個好主意,該解決方案需要在CSS,因爲這是一個VB建外箱.net表。所有信息都由數據庫填充。有了這個功能,可以將css規則添加到表格單元格和行中,但不會將表格標題保持居中。我將發佈代碼是因爲它有點奇怪,我是如何使用兩個表來完成的,並且每次只有一個使用javascript可見。 – 2013-04-26 19:07:39

+0

更新:解決方案是在CSS中,訪問小提琴。 – unkn0wn 2013-04-26 19:09:20

+0

如果按標題表示表頭文本,我在您的css中看不到文本對齊,請嘗試一下。 – unkn0wn 2013-04-26 19:14:15

0

的OP在編輯寫道和評論CSS:

回答:

想通了。

正在應用的ASP css樣式優先於任何內嵌或css樣式表規則。

在ASP代碼中,我對「margin-left:auto; margin-right:auto;」的行進行了樣式設置。嘗試將其集中。然後,當我試圖將內聯樣式居中時,「left:50%; margin-left:-450px;」它沒有采用保證金css,因爲ASP風格已經被應用,或者之後被應用,因此優先。雖然

感謝您的幫助2207792,像往常一樣,通過它說話讓你想

+0

([在問題編輯中回答;轉換爲社區wiki](http://meta.stackoverflow.com/questions/267434/what-is-the-woole-action-when-the-answer-to-a-問題 - 被添加到所述闕)) – 2016-11-26 20:51:27