Скажем, у меня есть таблица вроде этого:
(Красные строки <th>
's)
В CSS я хотел бы выбрать первую строку, которая не является строкой заголовка.
.tableClass td:first-child {}
Выбирает td 3:1
и td 4:1
.
Но когда я пытаюсь:
.tableClass td:first-child tr:first-child {}
Ничего не выбрано.
Что мне здесь не хватает?
Примечание. Строки не содержат элементов <td>
и <th>
, всего один тип для каждой строки.
Как правило, структура таблицы подобна
<table>
<thead><tr><th>....</th>...</tr></thead>
<tbody><tr><td>..</td>....</tr></tbody>
</table>
поэтому легко найти основную часть таблицы
.tableClass tbody{
//code
}
Надеюсь, поможет
Я не уверен, что вы можете сделать это в чистом CSS. У вас есть контроль над HTML? Если строки заголовка всегда идут первыми (как на вашей диаграмме), тогда размещение строк заголовка внутри <thead>
а остальные строки внутри <tbody>
позволят вам выбрать первый <tr>
внутри <tbody>
с
.tableClass tbody tr:first-child {}
Ваш
.tableClass td:first-child tr:first-child {}
выбирает первую строку, которая находится внутри каждой ячейки первого ребенка, поэтому она ничего не находит.
Вы пробовали это: .tableClass tr:first-child td:first-child {}
? Вы всегда должны идти сверху вниз при выборе элемента через CSS (так что таблица → строка таблицы → ячейка таблицы).
td
для выбора столбца, вы должны использовать вместо этогоtr