Zrobi�em sobie tabelk� w postaci:
<table>
<colgroup>
<col style="text-align:center">
<col>
<col style="text-align:right; font-weight:bold; width: 150px">
</colgroup>
<tr>
<th>xxx</th>
<th>yyy</th>
<th>zzz</th>
</tr>
<tr>
<td>aaa</td>
<td>bbb</td>
<td>ccc</td>
</tr>
</table>
oraz style:
table {
border-collapse:collapse;
}
td {
vertical-align:top;
padding: 0px;
}
th {
padding: 0px 0px 0px 0px;
vertical-align:top;
}
Czy kto� m�g�by mi powiedzie� dlaczego w <col> dzia�aj� tylko niekt�re
style? Nie dzia�a text-align, nie dzia�a boldowanie, ale szeroko�� kolumny
jest ustawiana. Pr�bowa�em te� zamiast CSS u�y� <col align="center"> i
r�wnie� nie dzia�a. Sprawdza�em pod IE8 i FF.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
"The following properties apply to column and column-group elements:
-border [cut]
-background [cut]
-width [cut]
-visiblity [cut]"
http://www.w3.org/TR/CSS21/tables.html#q4
<col> in IE6
http://ln.hixie.ch/?start=1070385285&count=1
--
Krzysztof Warunek
A tak, czyta�em w opisie <col> zamiast w <table>. Ju� tylko proforma spytam:
nie ma innego sposobu jak tylko stosowanie klas do poszczeg�lych <td> w celu
okre�lenia sposobu wyr�wnywania tekstu w kom�rkach? Np. chcia�bym aby
pierwsza kom�rka mia�a tekst do lewej, kolejna - centrowany, trzecia -
jeszcze inny wariant itd. D��y�em do tego aby przy du�ych tabelach unikn��
konieczno�ci powielania tych samych element�w kodu HTML/CSS dla ka�dego
wiersza.
> Już tylko proforma spytam:
> nie ma innego sposobu jak tylko stosowanie klas do poszczególych <td>
> w celu określenia sposobu wyrównywania tekstu w komórkach?
Wydaje mi się że pseudoklasa :nth-of-type (lub :nth-child) wprowadzona
przez CSS3 rozwiąże problem, ale powszechna obsługa tych selektorów
jest jeszcze mniej czy bardziej powszechną przyszłością.
--
Niżej podpisany, zamieszkały w http://minio.xt.pl ,
Mirosław Zalewski
Tak, to bardzo futurystyczna wizja. No cóż, tym czasem naładuję mnóstwo kodu
w stronę WWW, trudno się mówi :-) Dziękuję za sprowadzenie mnie na ziemie
wszystkim.
> grudzień roku pamiętnego 2009, prawdopodobnie 16. Wielka mądrość na
> czytelników pl.comp.www spłynęła, gdy tako rzekł(a) Marek:
>
> > Już tylko proforma spytam:
> > nie ma innego sposobu jak tylko stosowanie klas do poszczególych
> > <td> w celu określenia sposobu wyrównywania tekstu w komórkach?
>
> Wydaje mi się że pseudoklasa :nth-of-type (lub :nth-child) wprowadzona
> przez CSS3 rozwiąże problem, ale powszechna obsługa tych selektorów
> jest jeszcze mniej czy bardziej powszechną przyszłością.
^^^^^^^^^^
Chodziło oczywiście o słowo „odległą”. Nie wiem o czym myślałem jak
pisałem post.
(Dopiero teraz zauważyłem.)
Wiem wiem ... domyśliłem się co miałeś na myśli :-)
:nth-child(), :nth-of-type()
obsługuje FF3.1+,Safari3.1+,Chrome1+,Opera10+,Konqueror3.4
czyli wszystkie z nowym Gecko,KHTML,Presto,Webkitem
Odstaje tylko iCab i IE (też nie całkiem, bo ten na Tasmanie
obsługuje w części).
Do tego przekupy piszą:
http://www.css3.info/microsoft-announces-css3-support-for-internet-explorer-9-ie9/
Czyli nie jest źle, a tylko demonizujecie sytuacje.
Selektor sąsiada działa już od badzIEwia 7. Dorzuć pseudoklasę
:first-child i masz:
td:first-child { pierwsza komórka }
td:first-child + td { druga komórka }
td:first-child + td + td { trzecia komórka }
Na 3 kolumnową tabelę w sam raz.
BadzIEw 6 można olewać, ale jak komuś zależy to
http://dean.edwards.name/ie7/ lub proste expression i dublowanie
deklaracji stylów dla komórek.
Super! Sprawdzę to - w moim przypadku powinno to wystarczyć. Dziękuję :)