2

我有一个网格视图,我想将它的标题对齐到左边。它在 chrome 中工作,但在 IE 9 中它们没有向左对齐。

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

截屏

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

更新1: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;
    }
4

3 回答 3

7

这行得通。将“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>标题的所有子项,因此将左文本对齐应用到每个标题单元格。

于 2013-07-16T13:48:24.733 回答
0

你不能放

table th {text-align:left;}

在你的 CSS 中?

还是我错过了什么?

于 2013-07-16T13:31:04.440 回答
0

您不能在 . 上左对齐tr

td或者th,将工作。

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

.myLeftAlign {
text-align: left;
}

或者

th {
text-align: left;
}

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

于 2013-07-16T13:31:36.333 回答