Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pierwsza komorka nastepnego wiersza
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
redman2
Mam taka tabele. Za pomoca CSS chcialbym aby pierwsza komorka nastepnego wiersza miala padding-top: 20px.


  1. <table width="66%" cellpadding="0" cellspacing="0">
  2. <tr>
  3. <td colspan="5" class="firstrow"><p>Table 1: Clinical indicators for for asthma</p></td>
  4. </tr>
  5. <tr>
  6. <td width="15%"><b>Indicator no.</b></td>
  7. </tr>
  8. </table>



Probuje to zrobic w taki sposob:


  1. tr td.firstrow + tr td {
  2. padding-top: 20px
  3. }


Jednak to nie dziala. Dlaczego ?
ArniPL
A tak nie można?
Kod
tr + tr td {
    padding-top: 20px
}
redman2
Nie, a to dlatego, ze wtedy bedzie dodawal mi padding-top do kazdej komorki (oprocz pierwszej) a ja chce tylko do pierwszej natepujace po moim "naglowku" (.firstrow).
gekon
A widzisz gdzieś obok 'td.firstrow' 'tr'? Nie? Dlatego nie działa. "+" to selektor następnika, czyli może wybierać następnego sąsiada - żadne 'tr' nie jest sąsiadem dla 'td'. Poza tym 'tr' to "table row". Więc powinno być:

  1. tr.firstrow + tr td {
  2. padding-top: 20px
  3. }
  4.  
  5. <table width="66%" cellpadding="0" cellspacing="0">
  6. <tr class="firstrow">
  7. <td colspan="5"><p>Table 1: Clinical indicators for for asthma</p></td>
  8. </tr>
  9. <tr>
  10. <td width="15%"><b>Indicator no.</b></td>
  11. </tr>


Tyle o teorii, w IE i tak nie będzie działać. Ale możesz to zrobić poprawnie budując tabelę - zainteresuj się elementami caption, thead, th
redman2
Pomyslales, ze nie chce stylu na calym wierszu, tylko na poszczegolnej komorce?
A jezeli za ta komorka bede chcial miec inna komorke, z innym stylem? Co wtedy?

Podalem przyklad, do ktorego potrzebuje rozwiazania i nie prosze o zmiane kodu.

Poza tym, nie chce budowac tabeli, ze wszystkich mozliwych elementow, "jakie fabryka dala", bo jest to w tym przypadku niepotrzebne. I dzieki za naswietlenie, ze <tr> to "table row". Fajnie miec doradcow.

Na przyszlosc: nie wymadrzaj sie, tylko udzielaj odpowiedzi, jezeli potrafisz.

Dzieki
abc667
Udzielać odpowiedzi nie gadać nie potrzebnie, za to nam płacą

redman2 teoretycznie można to zrobić tak
  1. tr:first-child + tr td:first-child { //style }

oczywiście jeśli tr.firstrow nie bedzie pierwszym wierszem tabeli lub jeśli nie chcesz się odnieść do pierwszej komórki w następnym wierszu i to wszystko bez nadawania klas komórkom to w css2 nie widzę rozwiązania (css3 chyba by bało rade wykombinować)

oczywiście powyższy przykład nie zadziała pod badziewiem
gekon
Przecież kod, który podałem robi dokładnie to o co pytasz (w przeglądarkach, które obsługują ten selektor): zmienia styl komórki w następnym wierszu po 'firstrow'. Zmiana kodu ma sens ponieważ jeżeli użyłbyś 'caption' czy 'thead' nie trzeba by stosować selektora następnika więc działałoby wszystko w IE. Przepraszam, że chciałem pomóc.
redman2
I dziekuje Ci bardzo, ze chciales pomoc. Trzeba to bylo zrobic, tak jak w Twoim ostatnim poscie. A nie pouczajac, bo tego naprawde nikt nie lubi.

Mniejsza o to.

Nie moge tez uzyc dodatkowych elementow tablicy, bo tych tabel sa ogromne ilosci, co najmniej po trzy dla kazdego artykulu, a artykulow - setki. Musialbym zmieniac kazda z nich osobna.

Ok, nie mialem jeszcze okazji potestowac tego (MAC + Win). Jezeli beda dzialac Wasze porady, zglosze sie.

Dzieki wszystkim za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.