Wybierz wszystkie " tr " z wyjątkiem pierwszego

Jak mogę wybrać wszystkie tr elementy z wyjątkiem pierwszego tr w tabeli z CSS?

Próbowałem użyć tej metody , ale okazało się, że nie działa.

Author: Alexander Abakumov, 2010-10-25

10 answers

Poprzez dodanie klasy do pierwszych tr lub kolejnych trs. nie ma sposobu na wybranie wierszy, które chcesz za pomocą samego CSS.

Jeśli jednak nie zależy Ci na Internet Explorerze 6, 7 lub 8:
tr:not(:first-child) {
    color: red;
}
 488
Author: Magnar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-25 10:41:31

Dziwię się, że nikt nie wspomniał o używaniu kombinatorów rodzeństwa, które są obsługiwane przez IE7 i późniejsze:

tr + tr /* CSS2, adjacent sibling */
tr ~ tr /* CSS3, general sibling */

Obie funkcjonują dokładnie tak samo (w kontekście tabel HTML) jak:

tr:not(:first-child)
 230
Author: BoltClock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-18 08:54:18

Idealne rozwiązanie, ale nie obsługiwane w IE

tr:not(:first-child) {css}

Drugim rozwiązaniem byłoby stylizowanie wszystkich tr, a następnie nadpisywanie css dla first-child:

tr {css}
tr:first-child {override css above}
 28
Author: Mark Steggles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-18 07:00:05

Brzmi jak 'pierwsza linia', o której mówisz jest nagłówkiem tabeli - więc naprawdę powinieneś pomyśleć o użyciu thead i tbody w Twoim znaczniku ( Kliknij tutaj ), co spowoduje 'lepsze' znaczniki (semantycznie poprawne, przydatne dla rzeczy takich jak screenreaders) i łatwiejsze, przyjazne dla przeglądarek możliwości wyboru css (table thead ... { ... })

 10
Author: oezi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-25 10:48:38

Inna opcja:

tr:nth-child(n + 2) {
    /* properties */
}
 5
Author: Arman Yeghiazaryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-10 11:25:41

Chociaż pytanie ma już przyzwoitą odpowiedź, chcę tylko podkreślić, że znacznik :first-child znajduje się na typie elementu, który reprezentuje dzieci.

Na przykład w kodzie:

<div id"someDiv">
     <input id="someInput1" /> 
     <input id="someInput2" />
     <input id="someInput2" />
</div

Jeśli chcesz wpływać tylko na dwa drugie elementy z marginesem, ale nie na pierwszy, wykonaj:

#someDiv > input {
     margin-top: 20px;
}
#someDiv > input:first-child{
     margin-top: 0px;
}

To znaczy, ponieważ input S są dziećmi, należy umieścić first-child na części wejściowej selektora.

 3
Author: CodyBugstein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-30 17:26:15

Przepraszam, wiem, że to jest stare, ale dlaczego nie Styl wszystkie elementy tr tak, jak chcesz wszystkie z wyjątkiem first i użyj klasy psuedo: first-child, gdzie odwołujesz to, co określone dla wszystkich elementów tr.

Lepiej opisane w tym przykładzie:

Http://jsfiddle.net/DWTr7/1/

tr {
    border-top: 1px solid;
}
tr:first-child {
    border-top: none;   
}

/Patrik

 1
Author: Patrik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-29 10:50:28

Ponieważ {[0] } nie jest obsługiwane przez IE 6, 7, 8. Możesz skorzystać z pomocy jQuery. Możesz go znaleźć Tutaj

 1
Author: Tapos,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:02:38

Możesz również użyć pseudo selektora klas w CSS w następujący sposób:

.desc:not(:first-child) {
    display: none;
}

To nie zastosuje klasy do pierwszego elementu z klasą .desc.

Oto JSFiddle z przykładem: http://jsfiddle.net/YYTFT/, a to jest dobre źródło do wyjaśnienia pseudo selektorów klas: http://css-tricks.com/pseudo-class-selectors/

 -1
Author: James,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-17 11:01:57

Możesz utworzyć klasę i użyć jej, gdy zdefiniujesz wszystkie swoje przyszłe, które chcesz (lub nie chcesz) być wybrane przez CSS.

Można by to zrobić pisząc

<tr class="unselected">

A następnie w css posiadające linie (i używając polecenia text-align jako przykładu):

unselected {
  text-align:center;
}



selected {
  text-align:right;
}
 -3
Author: user476033,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-25 10:40:36