Przejdź do zawartości

Użytkownik:Lukasvonbayern/Tabele

Z Ethenor

W kodzie źródłowym

[edytuj]

Podstawy budowy

[edytuj]

Wersja najprostsza

[edytuj]

Poniższy kod utworzy prostą tabelę bez zarysowanych krawędzi: <source lang="text">

wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2

</source>

Efekt poniżej:

wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2

Zalecany kod tabeli

[edytuj]

Tabele powinny być skromne, wyraźne i jednolite. Polecenie class="wikitable" ustawia zalecany styl tabeli. Zastosowanie klasy wikitable powoduje, że tabelka jest schludnie sformatowana – z subtelną ramką i standardowym wyróżnieniem pól poprzedzonych wykrzyknikiem (pola nagłówkowe), domyślnie wyrównana do lewej:

<source lang="text">

wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2

</source>

...co daje:

wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2

Wyrównywanie tekstu w poziomie

[edytuj]

Jak widać z przykładów w sekcjach poprzednich, domyślnie (bez podania parametrów) zwykłe komórki są wyrównywane do lewej. Dzięki stylowi text-align:XXX można wymusić wyrównywanie zawartości komórek do prawej lub wyśrodkowanie.

Przykłady
  • Wyrównywanie poszczególnych komórek:

<source lang="text">

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
do prawej wyśrodkowane do lewej

</source>

...co daje:

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
do prawej wyśrodkowane do lewej
  • Oto użycie wyrównania raz i tylko raz w nagłówku, gdy chcemy sformatować całą tabelę (lub większość komórek) tak, aby wszystkie były np. wyrównane do prawej:

<source lang="text">

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
to do prawej i to do prawej i to

</source>

...co daje:

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
to do prawej i to do prawej i to
  • Przykładowe ustawienie wyrównania tekstu raz na nagłówku dla całej tabeli, z wyjątkami w poszczególnych komórkach:

<source lang="text">

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
to do prawej i to do prawej a to do lewej

</source>

...co daje:

Nagłówek kolumny
nr 1
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
to do prawej i to do prawej a to do lewej
  • Wyrównanie całej kolumny jest możliwe za pomocą zadeklarowania w nagłówku tabeli stylu col-n-text-align-right, gdzie n oznacza numer kolumny (w zakresie 1–9), w której ma być wprowadzone wyrównanie do prawej.
Np. w celu wyrównania do prawej kolumn 3 i 4 i pozostawienia pozostałych wyrównanych domyślnie, należy użyć nagłówek
| {| class="wikitable col-3-text-align-right col-4-text-align-right"

...co daje:

Kolumna główna
(nr 1)
Nagłówek kolumny
nr 2
Nagłówek kolumny
nr 3
Nagłówek kolumny
nr 4
Nagłówek kolumny
nr 5
Wiersz 1 do lewej a to do prawej i to do prawej do lewej
Wiersz 2 do lewej a to do prawej i to do prawej do lewej
Uwaga 1: W metodzie tej wyrównanie obejmuje całą kolumnę, łącznie z wierszem nagłówkowym (zob. kolumna nr 3). Nagłówek kolumny
4 został natomiast wycentrowany za pomocą deklaracji stylu komórki "text-align:center". Podobnie można zmieniać wyrównanie innych pojedynczych komórek w kolumnie.
Uwaga 2: ten sposób nie działa, jeśli w tabelce będą komórki, które zajmują więcej niż jedną kolumnę (zob. sekcję #W kilku kolumnach – parametr colspan]]), natomiast można go używać w tabelach łączących wiersze (parametr rowspan).

Wyrównywanie tekstu w pionie

[edytuj]

Analogicznie do wyrównywania w poziomie.

Oto wyrównywanie parametrem:
(ewentualnie „vertical-align” można zastąpić krótszym „valign”) <source lang="text">

Nagłówek kolumny nr 1 Nagłówek kolumny nr 2 Nagłówek kolumny nr 3 Nagłówek kolumny nr 4
do góry wyśrodkowane do dołu ...
...
...

</source>

...co daje:

Nagłówek kolumny nr 1 Nagłówek kolumny nr 2 Nagłówek kolumny nr 3 Nagłówek kolumny nr 4
do góry wyśrodkowane do dołu ...
...
...

Użycie szablonu dla liczb

[edytuj]

W przypadku, gdy tekst w komórce przedstawia liczbę, do jego wyrównywania pomocny może być szablon {{L}}. Opis jego stosowania jest zamieszczony tutaj: Szablon:L/opis]].

Nie należy jednak nadużywać tego szablonu, ponieważ powoduje on zarówno wolniejsze przetwarzanie strony, jak i to, że kod strony znacznie się wydłuża!

Tabela z tytułem

[edytuj]

Jeżeli chcemy, aby nad tabelą pojawił się jej tytuł, używamy kodu |+, np.: <source lang="text">

Tytuł tabeli. Pojawia się bez ramki nad tabelą i jest wyśrodkowany
Pierwsza kolumna Druga kolumna
wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2
wiersz 3, kolumna 1 wiersz 3, kolumna 2
wiersz 4, kolumna 1 wiersz 4, kolumna 2

</source>

...co daje:

Tytuł tabeli. Pojawia się bez ramki nad tabelą i jest wyśrodkowany
Pierwsza kolumna Druga kolumna
wiersz 1, kolumna 1 wiersz 1, kolumna 2
wiersz 2, kolumna 1 wiersz 2, kolumna 2
wiersz 3, kolumna 1 wiersz 3, kolumna 2
wiersz 4, kolumna 1 wiersz 4, kolumna 2

Jak widać szerokość tytułu jest równa tabeli, a nadmiar tekstu się przełamuje.

Kolory

[edytuj]

We współczesnych komputerach nie ma w praktyce ograniczeń co do wyboru kolorów. W starszych niektóre barwy mogą zostać zastąpione zbliżoną lub wyświetlić się ziarniście (zob. dithering (grafika komputerowa)|dithering). W skrajnych wypadkach, szczególnie, gdy barwy tła i koloru tekstu mają zbliżoną jasność, może się zdarzyć, że kolor tła i tekstu będzie identyczny. Barw o zbliżonej jasności należy unikać również ze względu na osoby z zaburzeniami postrzegania barw.

W większości wypadków powinno się stosować wypracowane zestawienia kolorystyczne np. tabel z class="wikitable", co pomaga zachować spójny wygląd i ułatwia globalne zmiany. W wypadku konieczności wyróżnienia komórek w szczególny sposób, powinno się stosować barwy z tabelek w Pomoc:Kolory. Wprawdzie nie daje to zupełnej pewności stabilnego wyglądu na różnych komputerach, ale istnieje wysokie prawdopodobieństwo, że nowe przeglądarki nie wyświetlą ich źle. Zawsze należy przy tym pamiętać, aby nie bić czytelników po oczach.

Kolorowanie tła

[edytuj]

Żeby uzyskać różne barwy tła komórek, wstawiamy przed każdą komórką style="background-color:LightSteelBlue"|, zamiast LightSteelBlue wpisując odpowiednią nazwę koloru (lista rozpoznawanych nazw podana jest w Pomoc:Kolory). Można również podać barwę jako kombinację trzech szesnastkowych liczb podających jasność poszczególnych składowych koloru (czerwony, zielony, niebieski]]) z obowiązkowym znakiem # przed liczbą np. style="background-color:#ff0000"|. Dodatkowo można stosować zapis skrócony, podając jedną szesnastkową cyfrę na kolor – i tak zamiast #ff0033 można to zapisać skrótowo #f03.

Barwy samego tekstu reguluje atrybut color:, np. dodanie style="color: PaleGreen" spowoduje, że tekst będzie jasnozielony. Spacja po dwukropku jest opcjonalna, podobnie wielkość liter w nazwie barwy nie ma znaczenia. W przykładach wyróżnienie wielkimi literami zostało zastosowane jedynie dla zwiększenia czytelności.

Określenia barwy tła i tekstu można oczywiście zestawiać razem (przedzielając je średnikiem), np. style="background-color:Maroon; color:White".

Kolorowanie tekstu

[edytuj]

Zastosowanie poniższego kodu... <source lang="text">

kolor szaroniebieski kolor khaki ciemny kolor khaki (tekstu) niebieski podany szesnastkowo

</source>

...daje taki efekt:

kolor szaroniebieski kolor khaki ciemny kolor khaki (tekstu) niebieski podany szesnastkowo

Jeżeli chcemy ustalić kolor dla całego wiersza, to można zrobić to, wpisując określenie stylu po znakach rozpoczęcia nowego wiersza "|-". Na przykład: <source lang="text">

jeden kolor we wszystkich czterech komórkach tego wiersza
tu kolor wg wiersza tu też domyślny wybrany a tu zmiana domyślnego koloru tła a tu znowu jest domyślny

</source>

...co daje:

jeden kolor we wszystkich czterech komórkach tego wiersza
tu kolor wg wiersza tu też domyślny wybrany a tu zmiana domyślnego koloru tła a tu znowu jest domyślny

Kolorowanie obramowania

[edytuj]

Obramowanie (jednocześnie wszystkie 4 krawędzie) pojedynczej komórki lub całego wiersza kolorujemy poleceniem border-color. Zazwyczaj dla poprawy widoczności trzeba wtedy obramowanie również pogrubić poleceniem border-width, a to z kolei wymusza użycie polecenia border-style określającego rodzaj linii (np. ciągła, przerywana, kropkowana). W efekcie musimy użyć 3 poleceń, np.:

1)   linia ciągła: style="border-style: solid;"
2)   o grubości 4 pikseli:   style="border-width: 4px;"
3)   i kolorze czerwonym: style="border-color: Red;"

W kodzie tabeli łączymy te polecenia w jedno polecenie stylu:

style="border-style: solid; border-width: 4px; border-color: Red;"

Wygodniej jednak użyć polecenia border, które grupuje wszystkie 3 powyższe parametry, np.:

style="border: solid 4px Red;"

<source lang="text">{| class="wikitable" | wiersz 1, kolumna 1 | wiersz 1, kolumna 2 | style="border: solid 4px Red;"| wiersz 1, kolumna 3 |- | wiersz 2, kolumna 1 | wiersz 2, kolumna 2 | wiersz 2, kolumna 3 |- style="border: solid 4px Green;" | wiersz 3, kolumna 1 | wiersz 3, kolumna 2 | wiersz 3, kolumna 3 |- | wiersz 4, kolumna 1 | wiersz 4, kolumna 2 | wiersz 4, kolumna 3 |}</source>

...co daje:

wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3
wiersz 3, kolumna 1 wiersz 3, kolumna 2 wiersz 3, kolumna 3
wiersz 4, kolumna 1 wiersz 4, kolumna 2 wiersz 4, kolumna 3

Wspólne obramowanie kilku komórek wymaga więcej pracy, bo atrybuty trzeba nadawać w każdej komórce kolejno każdej kolorowanej krawędzi (góra/prawo/dół/lewo). Krawędzi, które pozostaną czarne, nie ruszamy. Polecenia dla poszczególnych krawędzi to:

  • border-top, border-right, border-bottom i border-left.

<source lang="text">{| class="wikitable" | wiersz 1, kolumna 1 | style="border-top: solid 4px Red; border-bottom: solid 4px Red; border-left: solid 4px Red;"| wiersz 1, kolumna 2 | style="border-top: solid 4px Red; border-right: solid 4px Red; border-bottom: solid 4px Red;"| wiersz 1, kolumna 3 |- | wiersz 2, kolumna 1 | wiersz 2, kolumna 2 | wiersz 2, kolumna 3 |- | style="border-top: solid 4px Green; border-right: solid 4px Green; border-left: solid 4px Green;"|wiersz 3, kolumna 1 | wiersz 3, kolumna 2 | wiersz 3, kolumna 3 |- | style="border-right: solid 4px Green; border-bottom: solid 4px Green; border-left: solid 4px Green;"|wiersz 4, kolumna 1 | wiersz 4, kolumna 2 | wiersz 4, kolumna 3 |}</source>

...co daje:

wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3
wiersz 3, kolumna 1 wiersz 3, kolumna 2 wiersz 3, kolumna 3
wiersz 4, kolumna 1 wiersz 4, kolumna 2 wiersz 4, kolumna 3

W ten sam sposób (formatując w każdej komórce potrzebną krawędź) robimy oczywiście pojedyncze kreski, np.:

wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3
wiersz 3, kolumna 1 wiersz 3, kolumna 2 wiersz 3, kolumna 3
wiersz 4, kolumna 1 wiersz 4, kolumna 2 wiersz 4, kolumna 3
wiersz 5, kolumna 1 wiersz 5, kolumna 2 wiersz 5, kolumna 3

O wiele łatwiej (pojedynczym poleceniem) robi się kreskę wzdłuż całego wiersza: <source lang="text">{| class="wikitable" | wiersz 1, kolumna 1 | wiersz 1, kolumna 2 | wiersz 1, kolumna 3 |- style="border-top: solid 4px Red;" | wiersz 2, kolumna 1 | wiersz 2, kolumna 2 | wiersz 2, kolumna 3 |}</source>

...co daje:

wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3

Niestety pionowej kreski po całości nie da się zrobić jednym poleceniem. Trzeba formatować potrzebną krawędź w każdej komórce.

Tabele kolorów

[edytuj]
 Osobna strona: Pomoc:Kolory.

Właściwości tekstu

[edytuj]

Teksty w tabeli da się modyfikować tak samo jak zwykły tekst. Dodatkowo do całego wiersza da się zastosować: <source lang="text">

kursywa we wszystkich czterech komórkach tego wiersza
pogrubienie we wszystkich czterech komórkach tego wiersza
zielony tekst we wszystkich czterech komórkach tego wiersza
tu nadany kolor tego wiersza tu też kolor tego wiersza a tu pogrubienie jednej komórki a tu znowu jest nadany
powiększony (125%) tekst we wszystkich czterech komórkach tego wiersza
pomniejszony (75%) tekst we wszystkich czterech komórkach tego wiersza
jednocześnie pogrubiony i kursywa we wszystkich czterech komórkach tego wiersza
jednocześnie pogrubiony; kursywa i zielony we wszystkich czterech komórkach tego wiersza

</source>

kursywa we wszystkich czterech komórkach tego wiersza
pogrubienie we wszystkich czterech komórkach tego wiersza
zielony tekst we wszystkich czterech komórkach tego wiersza
tu nadany kolor tego wiersza tu też kolor tego wiersza a tu pogrubienie jednej komórki a tu znowu jest nadany
powiększony (125%) tekst we wszystkich czterech komórkach tego wiersza
pomniejszony (75%) tekst we wszystkich czterech komórkach tego wiersza
jednocześnie pogrubiony i kursywa we wszystkich czterech komórkach tego wiersza
jednocześnie pogrubiony; kursywa i zielony we wszystkich czterech komórkach tego wiersza

Łączenie komórek

[edytuj]

W kilku wierszach – parametr rowspan

[edytuj]

<source lang="text">

wiersz 1, kolumna 1 wiersz 1 (oraz 2), kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 3

</source>

wiersz 1, kolumna 1 wiersz 1 (oraz 2), kolumna 2 wiersz 1, kolumna 3
wiersz 2, kolumna 1 wiersz 2, kolumna 3

rowspan powoduje rozciągnięcie kolumny na kilka wierszy

.

W kilku kolumnach – parametr colspan

[edytuj]

<source lang="text">

wiersz 1, kolumna 1 wiersz 1, kolumna 2 (oraz 3)
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3

</source>

wiersz 1, kolumna 1 wiersz 1, kolumna 2 (oraz 3)
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 3

colspan powoduje rozciągnięcie komórki na kilka kolumn.

Mieszane łączenie

[edytuj]

<source lang="text">

kolumna 1 (nagłówek) kolumna 2 (nagłówek) kolumna 3 (nagłówek) kolumna 4 (nagłówek)
wiersz 1, kolumna 1 wiersz 1, kolumna 2 (oraz 3) wiersz 1 (oraz 2), kolumna 4
wiersz 2, kolumna 1 (oraz 2 i 3)
wiersz 3, kolumna 1 wiersz 3 (oraz 4), kolumna 2 (oraz 3 i 4)
wiersz 4, kolumna 1

</source>

kolumna 1 (nagłówek) kolumna 2 (nagłówek) kolumna 3 (nagłówek) kolumna 4 (nagłówek)
wiersz 1, kolumna 1 wiersz 1, kolumna 2 (oraz 3) wiersz 1 (oraz 2), kolumna 4
wiersz 2, kolumna 1 (oraz 2 i 3)
wiersz 3, kolumna 1 wiersz 3 (oraz 4), kolumna 2 (oraz 3 i 4)
wiersz 4, kolumna 1

Zagnieżdżanie tabel

[edytuj]

poniższy kod... <source lang="text">

komórka 1
tabela
zagnieżdżona
komórka 3

</source>

...dodaje tabelę zagnieżdżoną w drugiej komórce tabeli zewnętrznej

komórka 1
tabela
zagnieżdżona
komórka 3

Uwaga: kod tabeli zagnieżdżonej musi zaczynać się od nowego wiersza.

Kilka tabel obok siebie

[edytuj]

Metoda zagnieżdżania

[edytuj]

Najprostszą metodą jest stworzenie nadrzędnej gołej tabeli bez formatowania (czyli bez „class="wikitable"”) składającej się tylko z jednego wiersza. W kolejnych komórkach tego wiersza umieszczamy normalne, wikipediowe tabele (czyli zawierające „class="wikitable"”), a najlepiej w co drugiej komórce, przeplatając to komórkami z odstępem (np. z &nbsp;). Innymi słowy kilka tabel sformatowanych osadzamy w jednej tabeli niesformatowanej: <source lang="text"> początek tabeli nadrzędnej: {|

      komórka z 1. tabelą:   |
...
       komórka z odstępem:   |  
      komórka z 2. tabelą:   |
...

koniec tabeli nadrzędnej: |} </source>

Osadzone tabele bez odstępów mają bardzo mały własny odstęp:

1 1
1 1
2 2
2 2

A tak jest po dodaniu komórki z odstępem (np. z &nbsp;)

1 1
1 1
 
2 2
2 2

Metoda ta nie sprawdza się przy komórkach o różnej wysokości (a wysokość może się zmieniać w zależności od szerokości okna przeglądarki). Możemy wtedy uzyskać taki efekt:

inna
wysokość
inna
wysokość
 
inna
wysokość
inna wysokość
 
inna wysokość
inna
wysokość
 
inna wysokość
inna wysokość

Częściowo można poprawić wygląd poprzez justowanie do góry każdej komórki z osadzoną tabelą: <source lang="text"> początek tabeli nadrzędnej: {|

      komórka z 1. tabelą:   | style="vertical-align: top"|
...
       komórka z odstępem:   |  
      komórka z 2. tabelą:   | style="vertical-align: top"|
...

koniec tabeli nadrzędnej: |} </source>

inna
wysokość
inna
wysokość
 
inna
wysokość
inna wysokość
 
inna wysokość
inna
wysokość
 
inna wysokość
inna wysokość

Metoda zagnieżdżania ma jeszcze jedną wadę – powiększa się nieco interlinia przed i po takiej tabeli:

Poniżej jedna tabela: zwykły odstęp ↓

Poniżej tabele osadzone w tabeli: zwykły odstęp ↑, powiększony odstęp ↓

 

Nowy akapit: powiększony odstęp ↑

Metoda białej kolumny

[edytuj]

Metodą dającą najlepszy efekt wizualny jest symulacja kilku tabel poprzez użycie tylko jednej tabeli, ale z nadaniem niektórym kolumnom białego koloru. W tym celu pierwszą komórkę w białej kolumnie rozciągamy na wszystkie pozostałe wiersze poleceniem rowspan (podając liczbę wierszy), przez co otrzymamy jedną wspólną pionową komórkę biegnącą przez całą tabelę. Tej komórce nadajemy biały kolor tła, ale również na biało musimy pokolorować jej górną i dolną krawędź. Wszystkie formatowania umieszczamy obok siebie w jednym wierszu kodu, np.: <source lang="text">{| class="wikitable" ! Pierwsza kolumna ! Druga kolumna ! rowspan=4 style="border-top-color: White; border-bottom-color: White; background-color: White;"| Trzecia
kol. ! Czwarta kolumna ! Piąta kolumna |- | wiersz 1, kolumna 1 | wiersz 1, kolumna 2 | wiersz 1, kolumna 4 | wiersz 1, kolumna 5 |- | wiersz 2, kolumna 1 | wiersz 2, kolumna 2 | wiersz 2, kolumna 4 | wiersz 2, kolumna 5 |- | wiersz 3, kolumna 1 | wiersz 3, kolumna 2 | wiersz 3, kolumna 4 | wiersz 3, kolumna 5 |}</source>

...co daje:

Pierwsza kolumna Druga kolumna Trzecia
kol.
Czwarta kolumna Piąta kolumna
wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 4 wiersz 1, kolumna 5
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 4 wiersz 2, kolumna 5
wiersz 3, kolumna 1 wiersz 3, kolumna 2 wiersz 3, kolumna 4 wiersz 3, kolumna 5

Identyczny efekt można uzyskać nieco innymi poleceniami, umieszczając jedną część w pierwszej linii kodu tabeli, a drugą przy wybranej kolumnie: <source lang="text">{| class="wikitable" style="border: none" ! Pierwsza kolumna ! Druga kolumna ! rowspan=4 style="border: none; background-color: White"| Trzecia
kol. ! Czwarta kolumna ! Piąta kolumna |- | wiersz 1, kolumna 1 | wiersz 1, kolumna 2 | wiersz 1, kolumna 4 | wiersz 1, kolumna 5 |- | wiersz 2, kolumna 1 | wiersz 2, kolumna 2 | wiersz 2, kolumna 4 | wiersz 2, kolumna 5 |- | wiersz 3, kolumna 1 | wiersz 3, kolumna 2 | wiersz 3, kolumna 4 | wiersz 3, kolumna 5 |}</source>

...co również daje:

Pierwsza kolumna Druga kolumna Trzecia
kol.
Czwarta kolumna Piąta kolumna
wiersz 1, kolumna 1 wiersz 1, kolumna 2 wiersz 1, kolumna 4 wiersz 1, kolumna 5
wiersz 2, kolumna 1 wiersz 2, kolumna 2 wiersz 2, kolumna 4 wiersz 2, kolumna 5
wiersz 3, kolumna 1 wiersz 3, kolumna 2 wiersz 3, kolumna 4 wiersz 3, kolumna 5

W obu przypadkach szerokość pustej białej kolumny jest dostateczna:

x x x x
x x x x

...aczkolwiek można ją powiększyć np. wypełniając encjami twardej spacji (&nbsp;).

Dodatkową zaletą obu tych rozwiązań niby-dzielonej tabeli jest identyczna wysokość wszystkich komórek w wierszu (de facto jest to wciąż jedna tabela), np.:

ta
sama
wysokość
biała
ko-
lu-
mna
ta sama wysokość
ta
sama
wysokość
ta sama wysokość
ta
sama
wysokość
ta sama wysokość

Metoda „float”

[edytuj]

Tabele można ułożyć obok siebie tak, aby wraz ze zmianą szerokości ekranu przesuwały się z jednego wiersza do drugiego. Otacza się wtedy kilka tabel elementem <div> z opływaniem do lewej (float:left). Dzięki temu, zależnie od rozdzielczości monitora użytkownika, obok siebie widoczna będzie optymalna liczba tabel.

Przykładowy kod:

<source lang="xml">

tab1 A tab1 B tab1 C tab1 D
A coś tam B coś tam C coś tam D coś tam
tab2 A tab2 B tab2 C tab2 D
A coś tu i tam B coś tu i tam C coś tu i tam D coś tu i tam
tab3 A tab3 B tab3 C tab3 D
A coś tu i tu B coś tu i tu C coś tu i tu D coś tu i tu
tab4 A tab4 B tab4 C tab4 D
A coś tam i tam B coś tam i tam C coś tam i tam D coś tam i tam

</source>


Efekt widoczny poniżej:

tab1 A tab1 B tab1 C tab1 D
A coś tam B coś tam C coś tam D coś tam
tab2 A tab2 B tab2 C tab2 D
A coś tu i tam B coś tu i tam C coś tu i tam D coś tu i tam
tab3 A tab3 B tab3 C tab3 D
A coś tu i tu B coś tu i tu C coś tu i tu D coś tu i tu
tab4 A tab4 B tab4 C tab4 D
A coś tam i tam B coś tam i tam C coś tam i tam D coś tam i tam
Pamiętaj!
Zwróć uwagę, że do ostatniej tabelki nie należy dodawać float: left, co powoduje wyświetlanie dalszego tekstu poniżej, a nie z prawej strony tabelek.

Kilka tabel z wyrównanymi kolumnami

[edytuj]

Tabele z kolumnami o dynamicznej szerokości

Numer Tytuł Autor Czas
1. "We Got The Party" Greg Wells, Kara DioGuardi 3:37
Numer Tytuł
1. "Life's What You Make It" (live)
Numer Tytuł Autor Czas
1. "See You Again" Miley Cyrus, Armato, James 3:10

Tabele z wyrównanymi kolumnami stałej szerokości

Numer Tytuł Autor Czas
1. "We Got The Party Greg Wells, Kara DioGuardi 3:37
Numer Tytuł
1. "Life's What You Make It" (live)
Numer Tytuł Autor Czas
1. "See You Again" Miley Cyrus, Armato, James 3:10

Kody

Kod tabel z kolumnami o dynamicznej szerokości
<source lang="xml">
Numer Tytuł Autor Czas
1. "We Got The Party" Greg Wells, Kara DioGuardi 3:37
Numer Tytuł
1. "Life's What You Make It" (live)
Numer Tytuł Autor Czas
1. "See You Again]]" Miley Cyrus, Armato, James 3:10

</source>

Kod tabel z wyrównanymi kolumnami stałej szerokości
<source lang="xml">
Numer Tytuł Autor Czas
1. "[We Got The Party" Greg Wells, Kara DioGuardi 3:37
Numer Tytuł
1. "Life's What You Make It" (live)
Numer Tytuł Autor Czas
1. "See You Again (singel Miley Cyrus)" Miley Cyrus, Armato, James 3:10

</source>

Sortowanie danych w tabelach

[edytuj]

Istnieje specjalna opcja, która pozwala na sortowanie danych w kolumnach tabeli. Aby ją uzyskać, należy zastąpić class="wikitable" opcją class="wikitable sortable" tak jak w poniższym kodzie.

<source lang="text">

Kolumna główna Sortowanie alfabetyczne Sortowanie wg liczb Sortowanie z innymi znakami
Rok 2006 Muzyka 245 18
Rok 2005 Literatura 127 -
Rok 2004 Technika 52 32
Rok 2006 Łucznictwo 21,12 987
Rok 2003 Ogrodnictwo 21 ?

</source>

Kod ten pozwoli uzyskać poniższą tabelę, w której, klikając w "znaczek klepsydry" w nagłówku, czytelnik uzyskuje sortowanie zmiennych umieszczonych w kolumnach.

Kolumna główna Sortowanie alfabetyczne Sortowanie liczb Sortowanie z innymi znakami
Rok 2006 Muzyka 245 18
Rok 2005 Literatura 127
Rok 2004 Technika 52 32
Rok 2006 Łucznictwo 21,12 987
Rok 2003 Ogrodnictwo 21 ?

.

Istnieje możliwość wskazania, aby niektóre kolumny nie mogły być użyte do sortowania tabeli:

Kolumna główna Po tej kolumnie nie sortujemy Sortowanie liczb
Rok 2006 . 245
Rok 2005 . 127
Rok 2003 nie sortujemy 21

Efekt uzyskuje się, dodając class="unsortable" w opisie kolumny w pierwszym wierszu (nagłówku) tabeli: <source lang="text">

Kolumna główna Nie sortujemy Sortowanie liczb

... </source>

Można również wskazać, aby dolne wiersze nie podlegały sortowaniu i zawsze zostawały na dole tabeli:

Kolumna główna Po tej kolumnie nie sortujemy Sortowanie liczb
Rok 2006 . 245
Rok 2005 . 127
Rok 2003 nie sortujemy 21
Podsumowanie Sortowanie tabel nie jest trudne 45

Tu wystarczy podać atrybut wiersza class="sortbottom":

<source lang="text">

Rok 2003 nie sortujemy 21
Podsumowanie Sortowanie tabel nie jest trudne 45

</source>

Sortowanie liczb

[edytuj]
 Zobacz też: Szablon:L.

W przypadku niewłaściwego sortowania liczb w kolumnie, w jej nagłówku należy wstawić parametr data-sort-type="number":

!Tytuł kolumny!data-sort-type="number"|Tytuł kolumny

Przykład:

Zawartość kofeiny (mg/100 g)
Produkt Bez data-sort-type Z data-sort-type
Tabletka kofeiny (regular) 100 100
Kawa parzona 80–135 80–135
Kawa bezkofeinowa 5–15 5–15
Herbata czarna 50 50

Aby prawidłowo sortowały się wyrażenia typu <0,001 można zastosować „łatkę” z wykorzystaniem szablonu 1a1. Należy podać w nim wartość nieco mniejszą, np. {{sortkey|0,0009}} 0,001, od właściwej. Rozwiązanie to nie ma charakteru systemowego i wymaga uwagi u edytujących, gdyż np. liczba 0,00095 będzie w powyższym przykładzie sortowała się jako większa niż <0,001.

Sortowanie liczb rzymskich

W celu poprawnego sortowania liczb rzymskich, przed daną liczbą rzymską należy wstawić szablon pomocniczy 1a1, tj. zamiast XIX wpisz {{sortkey|19}} XIX. Przykładowa tabela poniżej zawiera też parametr data-sort-type="number".

Bez {{sortkey}} Z {{sortkey}} Z {{sortkey}}
i data-sort-type
I I I
II II II
III III III
IV IV IV
V V V
VI VI VI
VII VII VII
VIII VIII VIII
IX IX IX
X X X

Sortowanie dat w tabelach

[edytuj]
 Zobacz też: Szablon:Dts.

Zasadniczo daty w tabelach są prawidłowo sortowane wyłącznie wtedy, gdy podane są w cyfrowym formacie rok-miesiąc-dzień, który nie jest powszechnie używany. W tym celu utworzono szablon 1a1, który pozwala prawidłowo sortować daty w tabelach. Przykładowo następujący wiki-kod...

<source lang="text">

Kolumna główna Sortowanie dat
(szablon dts)
Sortowanie dat
(rrrr-mm-dd)
Sortowanie liczb
Pozycja 1 1999-01-011 stycznia 1999 1999-01-01 245
Pozycja 2 1995-07-033 lipca 1995 1995-07-03 127
Pozycja 3 1997-03-077 marca 1997 1997-03-07 21

</source>

...produkuje następującą tabelę, w której daty są prawidłowo wyświetlone i mogą być sortowane:

Kolumna główna Sortowanie dat
(szablon dts)
Sortowanie dat
(rrrr-mm-dd)
Sortowanie liczb
Pozycja 1 1999-01-011 stycznia 1999 1999-01-01 245
Pozycja 2 1995-07-033 lipca 1995 1995-07-03 127
Pozycja 3 1997-03-077 marca 1997 1997-03-07 21

Sortowanie nazwisk w tabelach

[edytuj]

Problemy może sprawiać również sortowanie biogramów w tabelach według nazwisk, ponieważ biogramy w Wikipedii są nazywane w formacie imię-nazwisko. W celu prawidłowego sortowania nazwisk utworzono szablon 1a1, który rozwiązuje ten problem. Przykładowo kod...

<source lang="text">

Imię i nazwisko Dziedzina Rok
Walden, GregGreg Walden polityk 1991
Cooley, WesWes Cooley działacz 1996
Dennis, SmithSmith Dennis aktywista 1994
Sampras, PetePete Sampras sportowiec 1993

</source>

...daje tabelę, w której nazwiska mogą być sortowane według nazwisk:

Imię i nazwisko Dziedzina Rok
Walden, GregGreg Walden polityk 1991
Cooley, WesWes Cooley działacz 1996
Dennis, SmithSmith Dennis aktywista 1994
Sampras, PetePete Sampras sportowiec 1993

Sortowanie tabel zawierających grafiki

[edytuj]

Szablon 1a1 pozwala na poprzedzenie zawartości komórki kluczem sortowania i uczynienie go niewidzialnym. Jest to przydatne, kiedy kolumna zawiera np. grafiki, a nie nazwiska. Przykładowe zastosowanie: polskie lotniska.

Automatyczne numerowanie w pierwszej kolumnie

[edytuj]

Do automatycznego numerowania w pierwszej kolumnie, np. liczby porządkowej, można wykorzystać szablon 1a1:

Kod źródłowy:

{{Numerowanie w tabeli| class{{=}}"wikitable"
! Lp. !! Opis
|-
|#|| jeden
|-
|#|| dwa
|-
|#|| trzy
}}

Wynik: Błąd skryptu: nie ma takiego modułu „Łatki”.

Aby w takiej tabeli zastosować sortowanie z zachowaniem Lp. w pierwszej kolumnie, należy zastosować kod:

{{Numerowanie w tabeli| class{{=}}"wikitable sortable"
!class{{=}}"unsortable ordinal"| Lp. !! Opis
|-
|#|| jeden
|-
|#|| dwa
|-
|#|| trzy
}}

Wynik: Błąd skryptu: nie ma takiego modułu „Łatki”.

Zestawienie i objaśnienia kodów tabeli

[edytuj]
Kod Zastosowanie
  • {|
  • |+
  •  !
  •  !!
  • |
  • ||
  • |-
  • |}
  • Rozpoczyna tabelę (po tych znakach wpisujemy style, klasy itp. dla całej tabeli)
  • Dodaje tytuł nad tabelą
  • Nowa kolumna nagłówka (pionowe)
  • równoważne "<br />" (nowy wiersz) + "!" (nowa kolumna nagłówka)
  • Nowa kolumna (pionowe)
  • równoważne "<br />" (nowy wiersz) + "|" (nowa kolumna)
  • Nowy wiersz (poziome)
  • Kończy tabelę
  • class="wikitable"
  • Określenie klasy tabeli (zalecana właśnie wikitable).
    Dodatkowe klasy do tej samej tabeli można ewentualnie podać po spacji
    (np. class="wikitable error" da w wyniku tabelkę z dużymi czerwonymi napisami)
  • class="sortable"
  • Włączenie sortowania tabeli po wybranych kolumnach – do użycia po {|
  • class="unsortable"
  • Wyłączenie kolumny z sortowania – do użycia w kolumnie, w pierwszym wierszu
  • class="sortbottom"
  • Wyłączenie wiersza z sortowania – do użycia w opisie wiersza, zaraz po |-
  • style="
    • width: 30%;
    • text-align:left;
    • text-align:center;
    • text-align:right;
    • vertical-align:top;
    • vertical-align:center;
    • vertical-align:bottom;
    • border: 1px solid #FFFFFF;
    • float: right;
    • float: left;
  • ;"
  • Otwieranie określeń stylów
    • Tabelka zajmie 30% szerokości artykułu
    • Wyrównanie tekstu do lewej
    • ... do środka (w poziomie)
    • ... do prawej
    • ... do góry
    • ... do środka (w pionie)
    • ... do dołu
    • Grubość, styl i kolor obramowania komórki
    • Wyrównaj tabelę do prawej
    • ... do lewej
  • Po każdej wartości stawiamy średnik (;), a na końcu wszystko zamykamy cudzysłowem (").
  • | wartość |
    • | rowspan=n |
    • | colspan=n |
    • | style="background-color: FFF2B2" |
  • W ten sposób możemy wstawić, styl, tło, klasę, dla pojedynczego wersu, np.
    • Scala n komórek w pionie
    • Scala n komórek w poziomie
    • Zabarwia tło komórki na kolor ciemnożółty
  • 1a1
Powoduje, że tabelka jest wyrównywana względem tekstu,
np. względem kolejnej sekcji artykułu

Szablony do użycia w tabelach

[edytuj]

Wszystkie szablony do zastosowania w tabelach można znaleźć w odpowiedniej :Kategoria:Szablony do zastosowania w tabelach|kategorii. Należy przy tym zwrócić uwagę, że nadużywanie tych szablonów może znacznie spowolnić generowanie stron i niepotrzebnie obciążać serwery.

Kod i zastosowanie Efekt
1a1 oraz 1a1 – wstawiające grafikę

1a1 oraz 1a1 lub 1a1 oraz 1a1 – dodające styl komórki <source lang="text">{| class="wikitable" width="50%"

. za . przeciw
Tak Nie
Raczej tak Prawdopodobnie nie
</source>

|

. za . przeciw
Tak Nie
Raczej tak Prawdopodobnie nie

|- | 1a1

Formatowanie, wyrównywanie i poprawne sortowanie liczb w tabelach |

Wartość .

|}

Zwijanie/rozwijanie tabeli

[edytuj]

Tabele można zdefiniować jako zwijalne (lub inaczej ukrywające zawartość) z użyciem klasy css "collapsible". Domyślnie klasa ta przy pierwszym wywołaniu strony z daną tabelę wyświetla ja jako rozwiniętą. Można wymusić, aby przy pierwszym wyświetleniu tabela była zwinięta – należy w tym celu użyć kolejnej klasy "collapsed". Użycie obu klas ma jedno uwarunkowanie – funkcjonują prawidłowo tylko wtedy, gdy w definicji tabeli jest zdefiniowany wiersz nagłówkowy, w którym umieszczony jest przełączalny przycisk "Pokaż/Ukryj". Brak wiersza nagłówkowego powoduje niedziałanie obu klas i tabela jest wyświetlana bez ich funkcjonalności (nie jest zwijalna). Ponadto wg stanu na listopad 2017 r. w trybie edycji kodu źródłowego na podglądzie dana tabela nie ma dostępnej funkcji zwijania/rozwijania, ale po zapisaniu zmian funkcja ta jest dostępna.

Należy pamiętać, że w przypadku gdy tabela ma więcej niż jedną kolumnę, to wiersz nagłówkowy powinien być rozciągnięty na daną liczbę kolumn, czyli jeśli tabela ma trzy kolumny, to definicja wiersza nagłówkowego powinna być następująca
! colspan=3 | Nagłówek zwijalnej tabeli
– w przeciwnym przypadku nagłówek z przyciskiem będzie się rozciągał tylko na pierwszą kolumnę. Ponadto gdy w wielokolumnowej tabeli zdefiniujemy tyle samo nagłówków ile jest kolumn, to przycisk "Pokaż/Ukryj" będzie umieszczony w nagłówku (komórce) pierwszej kolumny.

Poniższy kod:

{| class="wikitable collapsible collapsed" style="text-align: center"
! Nagłówek zwijalnej tabeli
|-
|Zwijalna
|-
|zawartość
|}

daje w rezultacie tabelę zwijaną/rozwijaną w postaci zwiniętej przy pierwszym wyświetleniu:

Inną klasą oferującą ww. funkcje jest "mw-collapsible". Można jej używać z klasą "mw-collapsed". Klasa "mw-collapsible" różni się od klasy "collapsible" tym, że:

  • przełączane przyciski mają nazwy "zwiń/rozwiń"
  • nie wymaga zdefiniowania w tabeli wiersza nagłówkowego – przy jego braku przycisk "zwiń/rozwiń" jest umieszczany w ostatniej komórce pierwszego wiersza
  • działa też na podglądzie w trybie edycji kodu źródłowego
  • zdefiniowanie dla tabeli wielokolumnowej tyle samo nagłówków ile jest kolumn spowoduje umieszczenie przycisku "zwiń/rozwiń" w nagłówku (komórce) ostatniej kolumny

Poniższy kod obrazuje przypadek wyżej wymieniony (kod &nbsp; w ostatnim nagłówku jest dodany do wymuszenia odstępu przed przyciskiem w postaci zwiniętej):

{| class="wikitable mw-collapsible mw-collapsed" style="text-align: center"
! Nagłówek zwijalnej
! tabeli&nbsp;
|-
| Zwijalna
| tabela
|-
| z klasą
| "mw-collapsible"
|}

i daje w rezultacie poniższą tabelę zwijaną/rozwijaną:

Nagłówek zwijalnej tabeli 
Zwijalna tabela
z klasą "mw-collapsible"

Informacje dla osób znających znaczniki (X)HTML

[edytuj]
Odpowiedniki znaczników HTML i formatowania Wiki
HTML Wiki
bez parametrów
<table> {|
</table> |}
<caption> |+
<tr> |-
<th> !
<td> |
z parametrami
<table parametr="coś"> {| parametr="coś"
<caption parametr="coś">zawartość... |+ parametr="coś" | zawartość...
<tr parametr="coś"> |- parametr="coś"
<th parametr="coś">zawartość... ! parametr="coś" | zawartość...
<td parametr="coś">zawartość... | parametr="coś" | zawartość...

Wszystkie podane powyżej elementy formatowania Wiki należy zawsze zaczynać w nowym wierszu, w przeciwnym wypadku nie zostaną rozpoznane. Można jednak wstawiać wiele komórek w jednym wierszu, wówczas kolejne komórki są oddzielane podwójną kreską pionową (lub wykrzyknikami w wypadku nagłówka).

Wiele komórek w jednym wierszu
HTML Wiki
<td>1</td><td>2</td><td>3</td> | 1 || 2 || 3
<th>1</th><th>2</th><th>3</th> ! 1 !! 2 !! 3
<td>1</td><td style="color:green">2</td><td>3</td> | 1 ||style="color:green"|2 || 3
<th>1</th><th style="color:green">2</th><th>3</th> ! 1 !!style="color:green"|2 !! 3

Spacje przed i po znakami formatowania Wiki nie mają znaczenia, jednak (podobnie jak wcześnie) przed pierwszym elementem (tutaj "|" lub "!") muszą znajdować się znaki nowego wiersza. Innymi słowy muszą być pierwszym znakiem w wierszu.

Jak przerobić istniejącą tabelę na format wiki

[edytuj]

Jeśli tabela jest w formacie (X)HTML

[edytuj]

Pomocne będą następujące narzędzia:

Jeśli tabela jest w formacie arkusza kalkulacyjnego

[edytuj]
  • Można zapisać tabelę jako (X)HTML i skorzystać z konwerterów (powyżej)
  • Można skorzystać z[Apache OpenOffice|Open Office w wersji 2.4 i wyższej i wybrać Plik → Eksport, a następnie z listy formatów: MediaWiki. Uwaga! W wersji 3.2 możliwość eksportu została przeniesiona do rozszerzenia Sun Wiki Publisher.
  • Dla bardzo prostych tabel, można skorzystać z narzędzi: Copy & Paste Excel-to-Wiki Converter lub Tab2Wiki – wklejamy komórki i naciskamy przycisk.

Uwaga: po skorzystaniu z takich narzędzi i wklejeniu tabeli do artykułu, warto zawsze użyć przycisku "Pokaż podgląd".