Застосувати стиль до комірок першого рядка


79

Це повинно бути дуже просто, але я не можу зрозуміти.

У мене є така таблиця:

<table class="category_table">
 <tr><td> blabla 1</td><td> blabla 2 </td></tr>
 <tr><td> blabla 3 </td><td> blabla 4 </td></tr>
</table>

Я хочу зробити tdтеги першого trрядка vertical-align. Але не другий ряд.

.category_table td{
    vertical-align:top;
}


Так, я бачив цю сторінку, перш ніж задавати питання, вона не працювала.
xperator

Відповіді:


174

Використовуйте, tr:first-childщоб взяти перший tr:

.category_table tr:first-child td {
    vertical-align: top;
}

Якщо у вас є вкладені таблиці, і ви не хочете застосовувати стилі до внутрішніх рядків, додайте кілька дочірніх селекторів, щоб стилі отримували лише верхні рівні tdпершого верхнього рівня tr:

.category_table > tbody > tr:first-child > td {
    vertical-align: top;
}

Насправді я пробував це раніше, це не працює. Не знаю, чому.
xperator

1
Я теж не знаю. Я впевнений на 100%, що це працює для всіх основних браузерів.
BoltClock

Коли я порівнюю tdтеги першого та другого рядків у FireBug, я бачу, як перший рядок успадкував стиль, а другий рядок - ні. Не знаю, чому другий ряд вертикально вирівняний!?
xperator

Тоді це, мабуть, стиль за замовчуванням. Я не знайомий зі стилями таблиць за замовчуванням.
BoltClock

Я пішов трохи глибше з FireBug. Здається, я знайшов проблему. Насправді всередині моїх tdтегів другого рядка, там є таблиця. Здається таблиця всередині комірок другого рядка Спадкований стиль.
xperator

3

Це повинно зробити роботу:

.category_table tr:first-child td {
    vertical-align: top;
}

0

Нижче наведено першу trчастину таблиціthead

table thead tr:first-child {
   background: #f2f2f2;
}

І це працює для першого trз theadі tbodyтак:

table thead tbody tr:first-child {
   background: #f2f2f2;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.