Gridview标题左对齐,在IE9上不起作用,但它适用于chrome

时间:2013-07-16 13:26:41

标签: html asp.net css gridview

我有一个gridview,我想要对齐左边的标题。 它适用于chrome,但在IE 9中它们没有对齐左边。

(我粘贴整个代码,以防一些包围的div负责此行为。)

screenshot                                                                                                                                                                                              

        <div style="height: 300px; overflow: auto">
            <asp:GridView ID="myGrid" 
                AutoGenerateColumns="true"
                runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" Width="100%">
                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
                <EditRowStyle BackColor="#999999" />
                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />
                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" HorizontalAlign="Left"/>
                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
                <SortedAscendingCellStyle BackColor="#E9E7E2" />
                <So![enter image description here][1]rtedAscendingHeaderStyle BackColor="#506C8C" />
                <SortedDescendingCellStyle BackColor="#FFFDF8" />
                <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
            </asp:GridView>
        </div>
        <div style="margin-top: 20px; margin-left: 550px">
            <asp:Button ID="btnClose" runat="server" Text="Close" />
        </div>
        <div>
            <asp:Label ID="lblError" runat="server" Text=""></asp:Label>
        </div>
    </div>

Update1:​​CSS

#DeltaPlaceHolderMain #ctl00_PlaceHolderMain_myGrid tr:first-child{
    background-color:#eb8c00 !important;
    color:#FFF !important;
    }
#DeltaPlaceHolderMain #ctl00_PlaceHolderMain_myGrid tr:first-child td{
    text-align:left;
    }

#DeltaPlaceHolderMain #ctl00_PlaceHolderMain_myGrid tr{
    color:#404041 !important;
    }

3 个答案:

答案 0 :(得分:8)

这很有效。将“CssClass”添加到HeaderStyle:

<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" CssClass="headerClass" />

然后声明以下样式:

/*Give a text-align left only to the gridview header th's*/
.headerClass > th 
{
    text-align:left;
}

为了进一步说明,HeaderStyle.CssClass将会为包含您标题的<tr>提供一个课程。然后,CSS选择器.headerClass > th将其样式应用于标题的所有子<th>,因此将左侧文本对齐应用于每个标题单元格。

答案 1 :(得分:0)

你不能放

table th {text-align:left;}

在你的CSS中?

或者我错过了什么?

答案 2 :(得分:0)

您无法在tr上左对齐。

tdth会起作用。

无论如何,我建议使用css类或css文件中的th来执行此操作。

.myLeftAlign {
text-align: left;
}

th {
text-align: left;
}

如果您不想使用css,请将Align属性放在th上,而不是tr