Czy istnieje sposób na zastosowanie stylu klasy tylko do JEDNEGO poziomu tagów 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>
css
css-selectors
RichC
źródło
źródło
co powiesz na użycie pseudoklasy CSS: first-child:
źródło
td
podrzędnych w drzewie potomnym,.MyClass
które są pierwszymi z elementów zawierających je, a tym samym nadanie stylu elementowi innertd
.:first-child
na pewno nie przyniesie efektu, którego oczekuje OP.Ten styl:
daje mi:
to http://img12.imageshack.us/img12/4477/borders.png
Jednak użycie klasy jest tutaj prawdopodobnie właściwym podejściem.
źródło
Po prostu wybierz selektor tabel w MyClass.
(Aby ogólnie zastosować do wszystkich tabel wewnętrznych, możesz również to zrobić
table table td
).źródło
Chciałem ustawić szerokość pierwszej kolumny tabeli i stwierdziłem, że działa (w FF7) - pierwsza kolumna ma szerokość 50 pikseli:
gdzie był mój znacznik
źródło
Myślę, że to zadziała.
źródło
td
z każdego wiersza, a drugi tylko pierwszątd
część strony?td:first-child
wybiera dowolnytd
element, który jest pierwszym elementem pod jego rodzicem (bez względu na to, jaki jest jego rodzic). Pierwszatr td:first-child
dodaje warunek, żetd
musi być również zagnieżdżony poniżej atr
(na dowolnym poziomie, niekoniecznie bezpośrednio podrzędnym).tr > td:first-child
wybiera element,td
który jest pierwszym elementem bezpośrednio pod atr
. Więc ostatecznie:first-child
nie ma to nic wspólnego z rozwiązaniem pytania PO i ta odpowiedź jest nieprawidłowa.Chyba mógłbyś spróbować
Lub
gdzie „body” to selektor dla rodzica twojej tabeli
Ale zajęcia są najprawdopodobniej właściwą drogą do tego.
źródło