Jak mogę wybrać wszystkie tr
elementy oprócz pierwszego tr
w tabeli z CSS?
Próbowałem użyć tej metody, ale okazało się, że nie działa.
css
css-selectors
Aleksander Abakumow
źródło
źródło
<tr>
i inna klasa dla pozostałych.Odpowiedzi:
Dodając klasę do pierwszego
tr
lub kolejnychtr
s. Nie ma żadnej metody wybierania wierszy, które chcesz za pomocą samego CSS.Jeśli jednak nie obchodzi Cię Internet Explorer 6, 7 lub 8:
źródło
tr:not(:first-of-type)
jako potencjalne rozwiązanie, jeśli szukasz pierwszego wystąpienia określonego selektora, a nie pierwszego uogólnionego dziecka.Dziwię się, że nikt nie wspominał o użyciu kombinatorów rodzeństwa, które są obsługiwane przez IE7 i nowsze wersje:
Oba działają dokładnie tak samo (w każdym razie w kontekście tabel HTML) jak:
źródło
elem + elem
to świetne ogólne rozwiązanie, gdy elementy, na które chcesz kierować, nie są jedynymi dziećmi. Na przykład jeśli po a<h2>
następuje kilka<p>
tagów, pierwszy<p>
nie jest w tym przypadku pierwszym dzieckiem.idealne rozwiązanie, ale nie obsługiwane w IE
drugim rozwiązaniem byłoby nadanie stylu wszystkim trom, a następnie zastąpienie css dla pierwszego dziecka:
źródło
brzmi jak „pierwsza linia”, o której mówisz, to nagłówek tabeli - więc naprawdę powinieneś pomyśleć o użyciu
thead
itbody
w swoim znaczniku ( kliknij tutaj ), co spowodowałoby „lepsze” znaczniki (semantycznie poprawne, przydatne do rzeczy takich jak czytniki ekranu ) i łatwiejsze, przyjazne dla różnych przeglądarek możliwości wyboru css (table thead ... { ... }
)źródło
Chociaż pytanie ma już przyzwoitą odpowiedź, chcę tylko podkreślić, że
:first-child
tag pasuje do typu elementu reprezentującego dzieci.Na przykład w kodzie:
Jeśli chcesz wpływać tylko na dwa pozostałe elementy z marginesem, ale nie na pierwszy, zrobiłbyś:
to znaczy, ponieważ
input
s są dziećmi, umieściłbyśfirst-child
w wejściowej części selektora.źródło
Przykro mi, wiem, że to stare, ale dlaczego nie nadać stylu wszystkim elementom tr tak, jak chcesz, z wyjątkiem pierwszej i użyć klasy psuedo: first-child, w której odwołujesz to, co określiłeś dla wszystkich elementów tr.
Lepiej opisany w tym przykładzie:
http://jsfiddle.net/DWTr7/1/
/ Patrik
źródło
Ponieważ
tr:not(:first-child)
nie jest obsługiwany przez IE 6, 7, 8. Możesz skorzystać z pomocy jQuery. Możesz go znaleźć tutajźródło
Inna opcja:
źródło
Może ktoś może skorzystać, poniżej jest to, czego użyłem
źródło
Możesz również użyć selektora pseudo klas w swoim CSS w następujący sposób:
To nie zastosuje klasy do pierwszego elementu z klasą .desc.
Oto JSFiddle z przykładem: http://jsfiddle.net/YYTFT/ , i jest to dobre źródło do wyjaśnienia selektorów pseudoklas: http://css-tricks.com/pseudo-class-selectors/
źródło
first-child
ignoruje klasy.Możesz stworzyć klasę i korzystać z niej, gdy zdefiniujesz wszystkie swoje przyszłe wybory, które chcesz (lub nie chcesz) wybierać za pomocą CSS.
Dokonałoby się tego pisząc
a następnie w twoim css posiadającym linie (i przykładowo wykorzystując polecenie wyrównania tekstu):
źródło