2010-03-19 85 views
1

a)據我所知,GridView’s RowStyle-HorizontalAlign屬性應該覆蓋CSS的text-align屬性,因此GridView單元格內的文本應該位於單元格的左側,而是移動到右側。這是爲什麼?不應該GridView的RowStyle-Horizo​​ntalAlign屬性覆蓋CSS的文本對齊屬性?

b)類似地,RowStyle-Font-Bold應覆蓋CSS的font-weight屬性,因此字體不應以粗體顯示。但是,CSS的財產再次覆蓋RowStyle’s Font-Bold財產。爲什麼?

<div id="someClass">    
     <asp:GridView ID="gvwShowUsers" runat="server" > 
      <RowStyle BackColor="#FFFBD6" ForeColor="#333333" Font-Bold="false" 
       HorizontalAlign="Left" /> 
      <Columns> 
      <asp:BoundField DataField="UserName" HeaderText="UserName" /> 
      </Columns> 
     </asp:GridView> 
</div> 

CSS文件:

#someClass td 
{ 
    font-weight:bolder; 
    text-align:right; 
} 

感謝名單


編輯:

一種解決方法是將樣式應用到各個領域,而不是(如ItemStyle -Horizo​​ntalAlign)

我申請ItemStyleGridView’s領域的嘗試:

<div id="someClass">    
     <asp:GridView ID="gvwShowUsers" runat="server" > 
     <RowStyle Font-Bold="false" HorizontalAlign="Left" /> 
      <Columns> 
      <asp:BoundField DataField="UserName" HeaderText="UserName"> 
       <ItemStyle HorizontalAlign="Left" Font-Bold="false" /> 
      </asp:BoundField> 
      </Columns> 
     </asp:GridView> 
    </div> 

但由於即使在應用ItemStyle後的頁面仍然顯示在單元格的右側的文字,我已經決定要檢查源代碼的HTML頁面發送給用戶,並且事實證明這兩個<tr><td>元素都有Align屬性設置爲left,所以......完全混淆!

這裏是一個HTML頁面的源代碼:

<table id="GridView1" style="font-weight:normal;"> 
    <tr align="center" style=" font-weight:bold;"> 
     <th scope="col">UserName</th> 
    </tr> 
     <tr align="right" valign="bottom" style="font-weight:normal;"> 
     <td align="right" style="font-weight:normal;"> Nancy</td> 
    </tr> 
</table> 
+0

這適用於我 - 創建一個風格,例如td.left {text-align:left;}並在綁定字段的itemstyle中引用它,例如 Vas

回答

1

如果樣式被添加到<tr>元素,在CSS文件中的樣式將贏得因爲#someClass td選擇更爲具體。

解決方法是將樣式應用於每個字段(例如ItemStyle-HorizontalAlign)。

+0

「如果將樣式添加到元素,CSS文件中的樣式將贏得勝利,因爲#someClass td選擇器更具體。「不要內聯樣式樣式總是贏(我假設GridView.RowStyle-Horizo​​ntalAlign是內聯樣式?)? 「解決方法是將樣式應用於每個字段(例如ItemStyle-Horizo​​ntalAlign)。」我曾嘗試過,但沒有效果 – AspOnMyNet

+1

要解釋Jerry MacGuire,請向我展示HTML :)。 內聯樣式在應用於*相同元素*時作爲CSS規則獲勝,但在應用於父元素時不會獲得內聯樣式。僅僅因爲你已經在body標籤的style屬性中使你的文本變爲紅色,並不意味着你不能有一個用CSS規則指定的綠色段落。 –

+0

嗨,我已經編輯了我的初始文章以回覆您的回覆......如果您願意幫助我更多 – AspOnMyNet