Применить стиль только к первому уровню тд-тегов
Есть ли способ применить стиль класса только к одному типу td-тегов?
<style>.MyClass td {border: solid 1px red;}</style>
<table class="MyClass">
<tr>
<td>
THIS SHOULD HAVE RED BORDERS
</td>
<td>
THIS SHOULD HAVE RED BORDERS
<table><tr><td>THIS SHOULD NOT HAVE ANY</td></tr></table>
</td>
</tr>
</table>
Ответы
Ответ 1
Есть ли способ применить стиль класса только к одному типу td-тегов?
Да *
.MyClass>tbody>tr>td { border: solid 1px red; }
Но! Селектор direct-child >
не работает в IE6. Если вам нужно поддерживать этот браузер (что вы, вероятно, делаете, увы), все, что вы можете сделать, это выбрать внутренний элемент отдельно и не устанавливать стиль:
.MyClass td { border: solid 1px red; }
.MyClass td td { border: none; }
* Обратите внимание, что первый пример ссылается на элемент tbody
, который не найден в вашем HTML. Это должно было быть в вашем HTML, но браузеры, как правило, в порядке, оставив его... они просто добавляют его за кулисами.
Ответ 2
как насчет использования CSS: first-child псевдокласс:
.MyClass td:first-child { border: solid 1px red; }
Ответ 3
Этот стиль:
table tr td { border: 1px solid red; }
td table tr td { border: none; }
дает мне:
this http://img12.imageshack.us/img12/4477/borders.png
Однако использование класса, вероятно, является правильным подходом.
Ответ 4
Просто создайте селектор для таблиц внутри MyClass.
.MyClass td {border: solid 1px red;}
.MyClass table td {border: none}
(Для общего применения ко всем внутренним таблицам вы также можете сделать table table td
.)
Ответ 5
Думаю, это сработает.
.Myclass tr td:first-child{ }
or
.Myclass td:first-child { }
Ответ 6
Я хотел установить ширину первого столбца таблицы, и я нашел, что это сработало (в FF7) - первый столбец шириной 50 пикселей:
#MyTable>thead>tr>th:first-child { width:50px;}
где моя разметка была
<table id="MyTable">
<thead>
<tr>
<th scope="col">Col1</th>
<th scope="col">Col2</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>
Ответ 7
Думаю, вы могли попробовать
table tr td { color: red; }
table tr td table tr td { color: black; }
или
body table tr td { color: red; }
где 'body' - это селектор для родительской таблицы
Но классы, скорее всего, верный путь.