a)据我所知,GridView’s RowStyle-HorizontalAlign
属性应该覆盖CSS的text-align
属性,因此GridView单元格内的文本应该位于单元格的左侧,而是移动到右边。那是为什么?
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-HorizontalAlign)
我尝试将ItemStyle
应用于GridView’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 :(得分:1)
如果将样式添加到<tr>
元素,则CSS文件中的样式将获胜,因为#someClass td
选择器更具体。
解决方法是将样式应用于每个字段(例如ItemStyle-HorizontalAlign
)。