巧用CSS解決asp.net中Gridview邊框樣式問題
html標籤中的bordercolor屬性指定表格邊框顏色之後,無論是表格的四個邊框還是表格內部的儲存格
邊框顏色便都設定好了.但是在asp.net的gridview控制項中,設定bordercolor之後,在產生的html代碼
中是這樣表示的:
<table class="gridview_m" cellspacing="0" rules="all" border="1" id="ctl00_Content_GV_1"
style="border-color:#93C2F1;border-collapse:collapse;">
原來gridview中設定的bordercolor屬性是css中的屬性,其結果就是gridview的四個邊框的顏色變了,
但是內部儲存格的顏色卻是灰色,而不是你指定的顏色.
網上有不少朋友討論過這個問題,有一種解決方案是用代碼給gridview添加真正的bordercolor屬性
例如:
this.GridView1.Attributes.Add("bordercolor", "red");
這樣的缺點是不太靈活,如果需要用主題來控制介面樣式
而代碼中又有這樣的語句的話,就不是很合適
利用css提供的機制,可以比較好的解決這個問題
舉個例子啊
在主題中,將gridview的cssclass設定為gridview_m
<asp:GridView runat="server" CssClass="gridview_m" >
<HeaderStyle CssClass="girdview_head" />
<RowStyle CssClass="gridview_row" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
然後在css樣式表中設定:
table.gridview_m
{
border-collapse: collapse;
border:solid 1px #93c2f1;
width:98%;
font-size:10pt;
}
table.gridview_m td,th
{
border-collapse: collapse;
border:solid 1px #93c2f1;
font-size:10pt;
}
以上css樣式中還有其他樣式,主要就是這一句:table.gridview_m td,th
將會給class="gridview"的table中的th和td標籤應用樣式
這樣就解決了gridview的邊框問題