css 在 table asp.net 数据网格中指定第一个 tr

css specify first tr in table asp.net datagrid

我是 CSS 的新手,我正在尝试在 IE10 上完成以下操作:

我有 asp 数据网格和 css class "maintbl"

<asp:DataGrid CssClass="maintbl" ID="dg" runat="server"  AutoGenerateColumns="False">
<Columns>
    <asp:BoundColumn ReadOnly="true" DataField="UpdateOn" DataFormatString="{0:MMMM d, yyyy}" HeaderText="Date Modified" SortExpression="UpdateOn" ></asp:BoundColumn>
    <asp:BoundColumn DataField="Message" HeaderText="Message" SortExpression="Message"></asp:BoundColumn>
</Columns>
</asp:DataGrid>

生成的html类似这样:

<table class="maintbl">
 <tbody>
   <tr>
    <td></td>
    <td></td>
   </tr>
 </tbody>
</table>

我正在尝试将 css 专门应用于第一个 tr。我已经在 css 文件中尝试过,但它不起作用。

.maintbl table tbody tr:first-child {
        border: 1px solid white;
        background-color: #167F92;
        color:  white;
        padding: 1em; 
        text-align: center;
}

请帮我解决我做错的地方。

尝试将 css 选择器更改为

table.maintbl tbody tr:first-child

在您原来的选择器中,它正在寻找 .maintbl 元素,然后是子 table 元素,然后是 tbody,然后是 tr。现在它正在寻找带有 .maintbl class 的 table 元素(然后从那里寻找子元素)。