Pomoc:Tabele

Dla każdego
Te informacje dotyczą zarówno edytora wizualnego, jak i edytora wikikodu (Czym to się różni?)

Tabele można edytować zarówno w kodzie źródłowym, jak i za pomocą edytora wizualnego. Jeśli chodzi o kod źródłowy, zalecane jest używanie znaczników składni wiki (znaczniki te w większości muszą zaczynać się na początku nowej linii).

W edytorze wizualnymEdytuj

Edytor wizualny może być używany do wstawiania i edytowania tabel.

Można również zastosować metodę „przeciągnij i upuść”, mając na komputerze tabelę zapisaną w pliku w formacie .csv.


Po kliknięciu przycisku „Tabela” w menu „Wstaw” edytor wizualny wstawi pustą tabelę 4x4.

W trybie edycji tabeli jest dostępne menu edycji tabeli. Z tego menu można dodać nagłówek tabeli.


By wybrać komórkę, należy kliknąć na nią raz.

By edytować zawartość komórki (np. dopisać coś albo poprawić błąd w pisowni), należy kliknąć dwa razy. Można też zaznaczyć komórkę i nacisnąć ↵ Enter.

Aby zakończyć edycję komórki, należy kliknąć gdziekolwiek indziej.


Można dodawać i usuwać kolumny i wiersze.

Można także łączyć komórki: należy je zaznaczyć i kliknąć „Nagłówek”

W wyniku łączenia komórek zawartość tylko z jednej z nich jest zachowana. Aby odzyskać zawartość utraconą w wyniku łączenia, należy użyć przycisku Cofnij, przesunąć albo skopiować zawartość, a następnie połączyć komórki ponownie.

Można też rozdzielić uprzednio połączone komórki. Zawartość połączonych komórek pozostanie w pierwszej spośród rozdzielonych. W razie potrzeby można wyciąć ją i wkleić do innych komórek.


W kodzie źródłowymEdytuj

Podstawy budowyEdytuj

Wikipediowe tabele są tabelami HTML, w których podstawowe znaczniki mają uproszczoną postać i nie wymagają znaczników kończących (oprócz jednego znacznika – kończącego kod tabeli).

Poniżej porównanie obu składni:

Kod HTML:

<table>
  <caption>Tytuł</caption>
    <tr>
    <th>Nagłówek A</th>
    <th>Nagłówek B</th>
  </tr>
  <tr>
    <td>Komórka 1A</td>
    <td>Komórka 1B</td>
  </tr>
  <tr>
    <td>Komórka 2A</td>
    <td>Komórka 2B</td>
  </tr>
</table>
Wikikod:

{|
|+ Tytuł
! Nagłówek A
! Nagłówek B
|-
| Komórka 1A
| Komórka 1B
|-
| Komórka 2A
| Komórka 2B
|}

...co daje w wikipediowym artykule ten sam efekt:

Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B
Komórka 2A Komórka 2B

Tabela niesformatowanaEdytuj

Tabela z poprzedniej sekcji artykułu nie jest zbyt czytelna, przede wszystkim brakuje w niej ramek. Na Wikipedii takie rozwiązanie nazywamy tabelą niesformatowaną.

W następnej sekcji jest opisany sposób tworzenia tabeli sformatowanej – rozwiązania stosowanego powszechnie w wikipediowych artykułach.

Tu zatrzymajmy się na moment i zastanówmy, czy taka „surowa” tabela może być do czegoś przydatna. Okazuje się, że tak. Co prawda niezbyt często, ale jest wykorzystywana do tzw. tabulacji, czyli mechanizmu wyrównywania fragmentów w kolejnych akapitach.

Oto przykład przepisu na chleb. Jest to tabela niesformatowana z 2 kolumnami:

mąka pszenna   – 250 gramów
mąka żytnia – 200 gramów
woda – 400 ml
zakwas – 3 duże łyżki
sól – 1 łyżeczka

Jak widać, tekst został wyrównany na półpauzach (na początku drugiej kolumny tabeli).

Zazwyczaj wszystko umieszcza się w tabelach sformatowanych (opisanych poniżej), ale osoba edytująca artykuł może mieć inne priorytety (spowodowane np. nadmiarem tabel w artykule albo prezentacją różnych rodzajów informacji).

Tabela sformatowana (zalecany kod tabeli)Edytuj

Na Wikipedii stosowane są klasy zawierające cały szereg parametrów usprawniających wyświetlanie tabeli. Wikipediowe klasy różnią się między sobą różnymi dodatkowymi funkcjonalnościami, ale wszystkie dają ten sam podstawowy i spójny wygląd, charakterystyczny dla wikipediowych artykułów.

Podstawowa klasa, zalecana i stosowana w przeważającej większości tabel na Wikipedii, to polecenie wstawiane w pierwszej linii kodu tabeli zaraz za znacznikiem początku tabeli.

Wygląda ono tak:

{| class="wikitable"

Właśnie tak, jak powyżej, powinna zaczynać się każda tabela na Wikipedii, o ile nie mamy wyraźnych powodów do wprowadzania dodatkowych funkcjonalności związanych np. z sortowaniem kolumn czy zbiorczym modyfikowaniem wybranych parametrów wyglądu. Zresztą te dodatkowe klasy (opisane w innych miejscach poradnika) są tylko drobnymi modyfikacjami zalecanej klasy.

Poniżej przykład całego kodu tabeli opatrzonej zalecaną klasą:

{| class="wikitable"
|+ Tytuł
! Nagłówek A
! Nagłówek B
|-
| Komórka 1A
| Komórka 1B
|-
| Komórka 2A
| Komórka 2B
|}

...co daje:

Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B
Komórka 2A Komórka 2B

Jak widać, różnica między tabelą niesformatowaną (opisaną wcześniej) a tabelą sformatowaną jest olbrzymia. Przede wszystkim wszystko jest dobrze widoczne.

Zasady układania koduEdytuj

ZnacznikiEdytuj

Poniżej wszystkie znaczniki wikikodu. Zastępują one podstawowe znaczniki HTML:

  • {| – początek tabeli – zastępuje <table>
  • |+ – początek tytułu tabeli – zastępuje <caption> (i nie potrzebuje odpowiednika </caption>)
  • |- – początek nowego wiersza tabeli – zastępuje <tr> (i nie potrzebuje odpowiednika </tr>)
  • ! – początek komórki nagłówka – zastępuje <th> (i nie potrzebuje odpowiednika </th>)
  • | – początek komórki zwykłej – zastępuje <td> (i nie potrzebuje odpowiednika</td>)
  • |} – koniec tabeli – zastępuje </table>

Jak widać, nie ma ich wiele. W trudniejszych sytuacjach do wikikodu można natywnie dopisywać inne znaczniki, polecenia i parametry HTML, aczkolwiek wiele rzeczy w wikikodzie jest rozwiązanych selektorami klas (class=...).

Początek kodu tabeliEdytuj

Kod tabeli musi zawsze zaczynać się na początku akapitu, przy czym może to być akapit zwykły lub akapit z wcięciem. Poniżej przykłady:

{| class="wikitable"
: {| class="wikitable"
:: {| class="wikitable"
::: {| class="wikitable"

Natomiast nie ma możliwości umieszczania tabeli w listach wypunktowanych (wiersz zaczyna się gwiazdką *) i listach numerowanych (wiersz zaczyna się kratką #). Ciąg takiej listy można tylko przerwać i umieścić tabelę w osobnym akapicie.

Spacje pomiędzy początkiem akapitu (czyli początkiem linii kodu) i początkiem kodu tabeli są pomijane przez oprogramowanie, natomiast inne znaki tam umieszczone (niż użyte powyżej dwukropki) spowodują błąd – w artykule zamiast tabeli wyświetli się jawnie jej kod.

Pusty znacznik tytułu tabeli można pominąć. Również pusty znacznik pierwszego wiersza tabeli można pominąć (ale tylko pierwszego wiersza). Obecność tych znaków nie przeszkadza, ale lepiej je usunąć dla uproszczenia kodu. Dopiero znaczniki kolejnych wierszy są konieczne.

{| class="wikitable"
|+                     znacznik pusty (zbędna linia kodu)
|-                     znacznik pusty (zbędna linia kodu)
|
...

{| class="wikitable"
|+ Tytuł tabeli        znacznik z tekstem (potrzebny)
|- align=right         znacznik z poleceniem (potrzebny)
|
...

Koniec kodu tabeliEdytuj

Znacznik końca tabeli musi zawsze stać na początku nowej linii kodu (nie licząc ewentualnych spacji).

Pominięcie znacznika końca tabeli spowoduje błąd – w dole tabeli znajdzie się cała reszta artykułu.

W poprzednim wierszu przed znacznikiem końca tabeli powinna być zdefiniowana komórka, ewentualnie znacznik końca tabeli osadzonej. Z logicznego punktu widzenia nie ma tam miejsca na nic innego, czasami tylko edytujący wstawiają tam pusty wiersz (który nic nie robi) mający pomóc w orientacji osoby piszącej podczas tworzenia wyjątkowo skomplikowanej konstrukcji. Jednak zaskakująco często zdarza się, że jest tam umieszczony znacznik nowego wiersza – prawdopodobnie wstawiany podczas kopiowania fragmentu kodu. Znacznik ten w tym miejscu nic nie robi i należy go usunąć, bo jest tylko balastem.

lepiej:     gorzej:

|...        |...
|...        |...
|...        |...
|}          |-      <- zbędne
            |}

Po znaczniku końca tabeli można wpisywać wszystko w dowolnej konfiguracji, bo i tak zawsze zostanie to wyświetlone niżej jako nowy akapit.

Tak więc mamy tutaj 3 możliwości układania kodu – bez wpływu na wygląd artykułu:

|} tekst po tabeli        |}                     |}
                          tekst po tabeli
                                                 tekst po tabeli

Trzecie z powyższych rozwiązań wydaje się najbardziej eleganckie (po dwóch enterach) i przede wszystkim najbardziej czytelne dla innych osób zaglądających do kodu.

Układanie kodu w pionie i poziomieEdytuj

Zasadniczo wszystkie wymienione powyżej znaczniki muszą się zaczynać od nowej linii kodu. Jest jednak jeden wyjątek: druga i następne komórki (nagłówka i zwykłe) mogą zaczynać się w kodzie od nowego wiersza, ale równie dobrze można je układać w tej samej linii. Każda następna komórka umieszczona w tej samej linii musi być jednak poprzedzona dwiema pałkami (a nie jedną, jak na początku linii).

Poniżej przykłady obu sposobów układania kodu:

{| class="wikitable"
|+ Tytuł tabeli
! Nagłówek A
! Nagłówek B
! Nagłówek C
|-
| Komórka A
| Komórka B
| Komórka C
|}
{| class="wikitable"
|+ Tytuł tabeli
! Nagłówek A || Nagłówek B || Nagłówek C
|-
| Komórka A || Komórka B || Komórka C
|}

...co daje ten sam efekt:

Tytuł tabeli
Nagłówek A Nagłówek B Nagłówek C
Komórka A Komórka B Komórka C

Pierwszy sposób jest wygodny i bardziej przejrzysty, gdy mamy wiele komórek o zróżnicowanej treści. Drugi sposób jest dobry przy dużych zestawieniach podobnych informacji (np. tabela wyników rozgrywek sportowych).

W przypadku kolejnych komórek nagłówka zamiast dwóch pałek można też użyć dwóch wykrzykników, byle konsekwentnie w ramach tej samej linii kodu. Oba poniższe zapisy są równoważne:

! Nagłówek A || Nagłówek B || Nagłówek C
! Nagłówek A !! Nagłówek B !! Nagłówek C

Można mieszać porządki i układać sąsiednie komórki trochę w pionie, trochę w poziomie. Poniżej fragment kodu z 3 komórkami w wierszu. Wszystkie 4 kombinacje dają dokładnie ten sam wygląd tabeli:

|-          |-                   |-
| Kom.1     | Kom.1 || Kom.2     | Kom.1 || Kom.2 || Kom.3
| Kom.2     | Kom.3
| Kom.3

Powyższe to tylko przykład mieszania porządków, możliwa jest każda kombinacja.

Poniżej wybór różnych układów kodu jednego wiersza z 6 komórkami:

|-            |-                 |-                 |-
| x || x      | x || x || x      | x || x           | x
| x || x      | x || x || x      | x                | x || x || x || x
| x || x                         | x || x || x      | x

Wstawianie dodatkowych poleceńEdytuj

Po znaczniku początku tabeliEdytuj

Nie ma lepszego przykładu niż polecenie nadania tabeli stylu zalecanego na Wikipedii:

{| class="wikitable"

Oczywiście w praktyce można znaleźć w tym miejscu znacznie więcej poleceń definiujących wygląd całej tabeli.

Po znaczniku tytułu tabeliEdytuj

Znacznik tytułu tabeli to znacznik, po którym wpisuje się tekst. W związku z tym każde polecenie po tym znaczniku musi być zakończone pałką, która oddziela polecenia od tekstu.

Oto przykład wyrównania tekstu tytułu tabeli do prawej:

|+ style="text-align:right"| Tytuł tabeli

Jak widać powyżej, zastosowano polecenie stylu. Oprócz poleceń stylu istnieją również ich uproszczone wersje, które widać niżej w sekcji dotyczącej poleceń dla komórki, ale np. w przypadku znacznika tytułu tabeli polecenia uproszczone nie działają:

|+ style="text-align:right"| ...     polecenie działa
|+ align="right"| ...                polecenie nie działa

Trzeba zawsze uważać z poleceniami uproszczonymi, a w przypadku problemów stosować polecenia stylu, jako bezpieczniejsze.

Po znaczniku nowego wierszaEdytuj

Po tym znaczniku w jego linii kodu już nic nie ma, bo komórki mogą być definiowane dopiero od następnej linii, w związku z tym polecenia wpisuje się tutaj zwyczajnie (tak jak po znaczniku początku tabeli). Nie trzeba pomagać sobie znakiem pałki (jak przy znaczniku tytułu tabeli).

W poniższym przykładzie wszystkie komórki w tym wierszu będą wyrównane do prawej. Podano obie wersje poleceń – pełną i uproszczoną, bo w odróżnieniu od znacznika tytułu tabeli obie tutaj zadziałają..., choć nie do końca. Wyjaśnienie pod przykładem.

|- style="text-align:right"     polecenie działa
|- align=right                  polecenie też działa

Uwaga: oba powyższe warianty zadziałają w komórkach zwykłych, natomiast w komórkach nagłówka niektórych rzeczy nie da się zrobić zbiorczo (po znaczniku wiersza), a wtedy trzeba formatować każdą komórkę osobno. Tu mamy właśnie taką sytuację. Jednak niektóre inne polecenia zadziałają tutaj nawet na komórki nagłówka. Zawsze trzeba sprawdzać, czy komórki nagłówka przyjmą dane polecenie zbiorczo (po znaczniku wiersza), podczas gdy komórki zwykłe przyjmą je zbiorczo zawsze.

Na końcu poradnika znajduje się tabela ze wszystkimi poleceniami i miejscami, w których one działają.

Po znaczniku komórkiEdytuj

Po każdym znaczniku każdej komórki (nagłówka lub zwykłej) można wstawić dodatkowe polecenie lub nawet ich zestaw, które będą modyfikować wygląd zawartości komórki. Można tak zmieniać kolory, kierunek wyrównywania tekstu itd., a nawet scalać kilka komórek.

Robi się to poprzez wstawienie polecenia i zakończenie go kolejnym znakiem pałki.

Przykłady dla pierwszej komórki w linii kodu:

! tekst                       <- tekst komórki nagłówka domyślnie
!style="color:Red"| tekst     <- tekst komórki nagłówka czerwony

| tekst                       <- tekst komórki zwykłej domyślnie
|style="color:Red"| tekst     <- tekst komórki zwykłej czerwony

Przykłady dla którejś z kolejnych komórek w linii kodu:

! tekst || tekst                       <- tekst 2. komórki nagłówka domyślnie
! tekst ||style="color:Red"| tekst     <- tekst 2. komórki nagłówka czerwony

| tekst || tekst                       <- tekst 2. komórki zwykłej domyślnie
| tekst ||style="color:Red"| tekst     <- tekst 2. komórki zwykłej czerwony

Uwaga: w przypadku komórek nagłówka separatorem drugiej i następnych komórek mogą być dwie pałki lub dwa wykrzykniki, jednak zawsze po dodaniu polecenia musi być pałka:

! tekst ||style="color:Red"| tekst ||...| tekst   <- dobrze
! tekst !!style="color:Red"| tekst !!...| tekst   <- dobrze
! tekst !!style="color:Red"! tekst !!...! tekst   <- źle
                           ↑            ↑

W powyższym przykładzie strzałki pokazują omawiane miejsca, a wielokropek symbolizuje miejsce na jakieś polecenie. Pierwsze dwa przykłady (poprawne) dają taki sam efekt:

tekst tekst tekst

Trzeci przykład (z błędem) wyświetli się tak:

tekst style="color:Red"! tekst ...! tekst

Jeżeli zrezygnujemy ze wstawienia polecenia, ale pozostawimy miejsce dla niego przewidziane – nic się nie stanie. W kodzie będzie balast, ale tabela wyświetli się normalnie:

|align=right| tekst             <- składnia poprawna
| tekst                         <- składnia poprawna
|| tekst                        <- balast: nadmiarowa pałka
| | tekst                       <- balast: nadmiarowe spacja i pałka
| tekst ||align=right| tekst    <- składnia poprawna
| tekst || tekst                <- składnia poprawna
| tekst ||| tekst               <- balast: nadmiarowa pałka
| tekst || | tekst              <- balast: nadmiarowe spacja i pałka

Oczywiście takie wady składni należy poprawiać, usuwając nadmiarowe znaki.

Dopiero przy 4 pałkach tabela zareaguje inaczej – w zależności od tego, czy pojawią się tam tylko pałki, czy też dodatkowe spacje – utworzeniem nowej komórki lub pojawieniem się w treści komórki znaku pałki.

Powyższe przykłady dotyczą również komórek nagłówka i znaków wykrzyknika.

Białe znakiEdytuj

Białe znaki to odstępy poziome i pionowe, czyli spacje, tabulatory i entery. Tabulatorów na Wikipedii nie używa się (mimo że działają), ich ewentualne pojawienie się w kodzie artykułu boty zmieniają na spacje.

EnteryEdytuj

Wprowadzenie entera do tekstu komórki powoduje utworzenie nowego akapitu tekstu, ale odstęp pomiędzy tymi akapitami będzie powiększony. Użycie entera ma uzasadnienie tylko przy prezentacji dłuższych tekstów, gdy chcemy wyraźnie zaznaczyć pojawienie się nowego akapitu, np.:

Zapisując zmiany, wyrażasz nieodwołalną zgodę na udostępnianie Twojego wkładu na licencjach CC-BY-SA 3.0 i GFDL oraz na wykorzystanie go w dowolnej formie.

Treść ta musi być dostępna na tych zasadach, jeśli nie jest wynikiem Twojej samodzielnej pracy. Zobacz szczegółowe informacje o warunkach korzystania.

Tworzenie akapitów odbywa się w skomplikowany sposób:

  • dla wiersza pod znacznikiem otwierającym komórkę wystarczy jeden enter,
  • kolejne akapity robi się dwoma enterami (bo jeden enter zrobi spację):
tekst w komórce

tekst w komórce

tekst w komórce tekst w komórce

tekst w komórce

{| class="wikitable"
| tekst w komórce      1 enter  (akapit)
tekst w komórce        2 entery (akapit)

tekst w komórce        1 enter  (daje spację)
tekst w komórce        2 entery (akapit)

tekst w komórce
|}

Zazwyczaj jednak zależy nam na zwykłym przełamaniu tekstu, a wtedy lepiej używać znacznika „line break” <br />, który robi dokładnie takie same odstępy, jak tekst po samoczynnym przełamaniu:

  • najlepiej znaczniki „line break” układać w jednej linii kodu (komórka 1),
  • jeżeli chcemy każdy wiersz oddzielnie w kodzie, to musimy zacząć poniżej znacznika otwierającego komórkę, ale komórka dostanie trochę większy odstęp od góry i dołu (komórka 2),
  • inaczej się nie da, bo po pierwszym wierszu powstanie większy odstęp (komórka 3):
tekst w komórce 1
tekst w komórce 1
tekst w komórce 1

tekst w komórce 2
tekst w komórce 2
tekst w komórce 2

tekst w komórce 3

tekst w komórce 3
tekst w komórce 3

{| class="wikitable"
| tekst w komórce 1<br />tekst w komórce 1<br />tekst w komórce 1
|-
|
tekst w komórce 2<br />
tekst w komórce 2<br />
tekst w komórce 2
|-
| tekst w komórce 3<br />
tekst w komórce 3<br />
tekst w komórce 3
|}

Różnica w działaniu pomiędzy enterami i znacznikami „line break” jest taka:

{| class="wikitable"
| tekst w komórce 1<br />tekst w komórce 1<br />tekst w komórce 1<br />tekst w komórce 1
| tekst w komórce 2
tekst w komórce 2

tekst w komórce 2

tekst w komórce 2
|
tekst w komórce 3

tekst w komórce 3

tekst w komórce 3

tekst w komórce 3
|}

...co daje:

tekst w komórce 1
tekst w komórce 1
tekst w komórce 1
tekst w komórce 1
tekst w komórce 2

tekst w komórce 2

tekst w komórce 2

tekst w komórce 2

tekst w komórce 3

tekst w komórce 3

tekst w komórce 3

tekst w komórce 3

Natomiast wprowadzanie dodatkowych enterów do kodu (a nie treści) tabeli nic nie robi. W poniższym przykładzie:

a) normalnie,
b) enter po znaczniku wiersza nic nie robi (nawet wiele enterów),
c) enter (ale tylko jeden) w treści komórki... nadal nic nie robi (wymyślono to dla możliwości rozdzielania dużych fragmentów kodu w celu ich lepszej czytelności dla osoby piszącej),
d) dwa entery w treści komórki to już za dużo i w komórce pojawi się nowy pusty akapit.
a)           b)           c)           d)
| tekst      | tekst      | tekst      | tekst
|-           |-
| tekst                   |-
             | tekst      | tekst      |-
                                       | tekst

A tak powyższe wygląda w praktyce:

a)
tekst
tekst
b)
tekst
tekst
c)
tekst
tekst
d)
tekst


tekst

SpacjeEdytuj

Tekst w komórce zachowuje się tak samo jak w pozostałej części artykułu:

  • spacje na początku (po znaczniku komórki) nie są wyświetlane,
  • spacje na końcu akapitu też nie są wyświetlane,
  • spacje przed i po znaczniku przełamania wiersza, czyli <br />, też nie są wyświetlane,
  • natomiast:
spacja po enterze daje tekst techniczny.

Jeżeli chcemy coś poszerzyć, trzeba użyć encji twardej spacji &nbsp;.

W przypadku znaczników kodu spacje też są niepotrzebne, ale wprowadza się je dla lepszej czytelności kodu, np.:

{|class="wikitable"         <- gorzej
{| class="wikitable"        <- lepiej

|-align=right               <- gorzej
|- align=right              <- lepiej

!1||2||3||4                 <- gorzej
! 1 || 2 || 3 || 4          <- lepiej

|tekst||tekst||tekst        <- gorzej
| tekst || tekst || tekst   <- lepiej

Jednak dobrą praktyką jest odróżnianie wyglądu poleceń przypisanych do komórki od wyglądu wyświetlanej zawartości komórki. Chodzi o większenie czytelności kodu. Polecenia niech przylegają do znaków pałki, a zawartość niech będzie między spacjami, bo początkowa i kończąca spacja i tak są pomijane przy wyświetlaniu komórki:

  polecenie     zawartość     polecenie    zawartość

|align=center| tekst tekst ||align=right| tekst tekst
              ↑           ↑              ↑

Powyższe rozwiązanie, oprócz czytelności kodu, pozwala uniknąć błędów składniowych, gdy chcemy wyświetlić na początku komórki niektóre znaki stosowane w składni, np. dywiz czy znak dodawania.

W zwykłym tekście spacja na początku akapitu wyświetla tzw. tekst techniczny, czyli czcionką stałopozycyjną i w ramce z tłem, wykorzystywany np. do prezentacji kodu programowania. W kodzie komórki można to zrobić dopiero od następnej linii kodu, ale z powodu podobnego tła i tak wygląd tekstu technicznego będzie słabo odróżnialny:

Przykład poza tabelą:

to jest tekst techniczny

Przykład w tabeli:

{| class="wikitable"
| przykładowy tekst
 przykładowy tekst     <- tu jest tekst techniczny
przykładowy tekst
 przykładowy tekst     <- tu jest tekst techniczny
przykładowy tekst
|}

...co daje:

przykładowy tekst
przykładowy tekst

przykładowy tekst

przykładowy tekst

przykładowy tekst

Problemy z innymi znakamiEdytuj

Poniższe zestawienie pokazuje, że warto wstawiać spacje w kodzie:

|+ znacznik tytułu tabeli
| + na początku komórki wyświetla symbol dodawania
|- znacznik początku wiersza
| - na początku komórki wyświetla dywiz
|# ma działanie podczas sortowania
| # na początku komórki wyświetla kratkę (hash)
|} zamyka tabelę
| } na początku komórki wyświetla prawą klamrę

Powyższe znaki, jak również kilka innych, potrafią czasami „namieszać” w kodzie tabeli (lub w kodzie artykułu). Warto znać ich zamienniki w postaci encji HTML. Poniżej wszystkie znaki ze zbioru ASCII inne niż spacja, cyfry i litery (bo nie wiadomo, co jeszcze w przyszłości przyjdzie programistom do głowy).

Szczególnie przydatne mogą okazać się zamienniki wykrzyknika i pałki, gdy będzie trzeba je wstawić na początku lub końcu treści komórki.

&#33; &#x021; !
&#34; &#x22; "
&#35; &#x23; #
&#36; &#x24; $
&#37; &#x25; %
&#38; &#x26; &
&#39; &#x27; '
 
&#40; &#x28; (
&#41; &#x29; )
&#42; &#x2A; *
&#43; &#x2B; +
&#44; &#x2C; ,
&#45; &#x2D; -
&#46; &#x2E; .
&#47; &#x2F; /
 
&#58; &#x3A; :
&#59; &#x3B; ;
&#60; &#x3C; <
&#61; &#x3D; =
&#62; &#x3E; >
&#63; &#x3F; ?
&#64; &#x40; @
 
&#91; &#x5B; [
&#92; &#x5C; \
&#93; &#x5D; ]
&#94; &#x5E; ^
&#95; &#x5F; _
&#96; &#x60; `
 
&#123; &#x7B; {
&#124; &#x7C; |
&#125; &#x7D; }
&#126; &#x7E; ~

Niektóre z powyższych znaków mają również bardziej mnemoniczne wersje encji:

&amp; &
&lt; <
&gt; >
&quot; "

Tytuł tabeliEdytuj

1. Tytuł tabeli – składnia

Jeżeli chcemy, aby nad tabelą pojawił się jej tytuł, używamy kodu |+, np.:

{| class="wikitable"
|+ Tytuł tabeli. Pojawia się bez ramki nad tabelą i jest wyśrodkowany
! Nagłówek A || Nagłówek B
|-
| Komórka 1A || Komórka 1B
|-
| Komórka 2A || Komórka 2B
|}

...co daje:

Tytuł tabeli. Pojawia się bez ramki nad tabelą i jest wyśrodkowany
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B
Komórka 2A Komórka 2B
  • Jak widać, szerokość tytułu mieści się w szerokości tabeli, a ewentualny nadmiar tekstu ulega przełamaniu do następnych wierszy.
  • Jak widać, pominięto pierwszy znacznik początku wiersza (gdy nie ma przy nim polecenia, jest zbędny).
  • Tytułu tabeli używa się niezbyt często, zazwyczaj wiadomo o co chodzi z treści komórek nagłówka. Nie ma jednak przeciwwskazań do stosowania tytułu tabeli.
  • Znacznik tytułu tabeli powinien być umieszczony w kodzie tabeli w drugiej linii. Co prawda można linię kodu z tym znacznikiem umieścić w innym miejscu – nad lub pod znacznikiem nowego wiersza, a nawet przed końcem tabeli, ale byłoby to robienie bałaganu w składni.
  • Linia kodu tylko z samym znacznikiem tytułu tabeli, ale bez treści, nie wyświetla się i nie generuje odstępu. Jest balastem w kodzie i można ją usunąć.
  • W przypadku omyłkowego wstawienia dwóch (lub więcej) linii kodu z tytułem tabeli, wyświetlana będzie zawartość pierwszej.
  • Pomimo że tytuł jest domyślnie czarny na przezroczystym, można mu nadawać wszystkie atrybuty koloru i obramowania.
  • Istnieje możliwość ułożenia tytułu tabeli pod tabelą: |+ style="caption-side:bottom"| Tytuł tabeli na dole. Pozostałe możliwości, czyli z lewej lub prawej, są niestandardowe (wspiera tylko Firefox), a więc nie należy ich używać.

Komórki nagłówka i zwykłeEdytuj

1. Składnia
  • Wiersz 1: Nie ma czegoś takiego jak specjalne „wiersze nagłówkowe”. Wystarczy, że komórka nagłówka będzie stać jako pierwsza w linii kodu, a wszystkie komórki zwykłe stojące za nią w tej samej linii kodu też są wyświetlane jako nagłówkowe.
  • Wiersz 2: Alternatywnie można wszystkie następne komórki nagłówka w tej samej linii kodu rozpocząć parą znaków !!.
  • Wiersz 3: Gdy linia kodu zaczyna się komórką nagłówka, to para znaków !! w tylko niektórych kolejnych komórkach w linii kodu nic nie zmieni (np. 3C), mamy jednak bałagan składniowy.
  • Wiersz 4, 5, 6 i 7: W dalszych komórkach kombinacje znaków (!| lub |!) powodują błędy,
  • Wiersz 8: Próba wstawienia komórki nagłówka po komórce zwykłej – w tej samej linii kodu – też powoduje błąd.
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4C 4D
5A ! 5C 5D
6A 6C 6D
7A ! 7C 7D
8A 8B !! 8C 8D
{| class="wikitable"
! 1A || 1B || 1C || 1D
|-
! 2A !! 2B !! 2C !! 2D
|-
! 3A || 3B !! 3C || 3D
|-
! 4A || 4B !| 4C || 4D
|-
! 5A || 5B |! 5C || 5D
|-
| 6A || 6B !| 6C || 6D
|-
| 7A || 7B |! 7C || 7D
|-
| 8A || 8B !! 8C || 8D
|}
2. Mieszanie komórek zwykłych i nagłówka
  • Aby kolejne komórki w tym samym wierszu tabeli zmienić z nagłówkowych na zwykłe (lub w drugą stronę), trzeba nimi rozpocząć nową linię kodu:
1A 1B 1C 1D 1E
2A 2B 2C 2D 2E
3A 3B 3C 3D 3E
4A 4B 4C 4D 4E
5A 5B 5C 5D 5E
{| class="wikitable"
! 1A || 1B
| 1C
! 1D || 1E
|-
| 2A || 2B || 2C || 2D || 2E
|-
| 3A || 3B
! 3C || 3D || 3E
|-
| 4A || 4B || 4C || 4D || 4E
|-
! 5A
| 5B
! 5C
| 5D
! 5E
|}
  • W sposób opisany powyżej konstruuje się tzw. lewy (lub prawy) boczek tabeli:
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4B 4C 4D
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4B 4C 4D
{| class="wikitable"
! 1A || 1B || 1C || 1D
|-
! 2A
| 2B || 2C || 2D
|-
! 3A
| 3B || 3C || 3D
|-
! 4A
| 4B || 4C || 4D
|}
{| class="wikitable"
! 1A || 1B || 1C || 1D
|-
| 2A || 2B || 2C
! 2D
|-
| 3A || 3B || 3C
! 3D
|-
| 4A || 4B || 4C
! 4D
|}
3. Wstawianie poleceń

Poniżej przykłady dla pierwszej i którejś z kolejnych komórek w wierszu – w każdej parze wiersz bez poleceń i z poleceniami:
a) komórki nagłówka – tyko jeden wykrzyknik na początku,
b) komórki nagłówka – zapis równoważny – wszędzie wykrzykniki,
c) komórki zwykłe,

  • na końcu polecenia zawsze stoi znak pałki, nigdy wykrzyknika.
a)  ! 1A || 1B || 1C || 1D
    !width=100| 1A || 1B ||width=100| 1C || 1D

b)  ! 2A !! 2B !! 2C !! 2D
    !width=100| 2A !! 2B !!width=100| 2C !! 2D

c)  | 3A || 3B || 3C || 3D
    |width=100| 3A || 3B ||width=100| 3C || 3D

Komórki puste lub brakująceEdytuj

1. Różnica pomiędzy pustymi i brakującymi
  • Komórki puste – komórki zdefiniowane w kodzie, ale pozbawione treści.
  • Komórki brakujące – komórki na końcu wiersza, których zdefiniowanie pominięto.
Z treścią Puste Brakujące
01A 01B 01C 01D 01E 01F 01G 01H 01I
02A 02B 02C
1A 1B 1C
2A 2B 2C
2. Puste komórki

Komórki pozbawione treści można definiować na dwa sposoby: we wspólnej linii kodu lub w oddzielnych liniach. Jak widać, pałka lub wykrzyknik jako jedyny znak w linii kodu wystarcza, aby komórka się wyświetliła:

1A 1C
2A 2B
3C
{| class="wikitable"
! 1A
!
! 1C
|-
| 2A
| 2B
|
|-
|
|
| 3C
|}
{| class="wikitable"
! 1A || || 1C
|-
| 2A || 2B ||
|-
| || || 3C
|}

W przypadku pustych komórek definiowanych obok siebie w jednej linii kodu – można wstawiać znaki pałki na styk, jednak dla przejrzystości kodu lepiej dodawać spacje w miejscach przeznaczonych na treść (samotne spacje i tak są pomijane przez program, można to sprawdzić, zaznaczając wyświetloną poniżej tabelę):

1A 1B 1C 1D 1E 1F
2D 2F
3D 3F
{| class="wikitable"
| 1A || 1B || 1C || 1D || 1E || 1F
|-
||||||| 2D |||| 2F       <- gorzej
|-
| || || || 3D || || 3F   <- lepiej
|}

Krawędzie sąsiadujących pustych komórek można ukryć poprzez scalanie komórek.

3. Pusty wiersz lub pusta kolumna
  • Wiersz zawierający tylko puste komórki jest bardzo niski.
  • Kolumna zawierająca tylko puste komórki jest bardzo wąska.

W obu powyższych przypadkach brak jakiegokolwiek znaku choćby w jednej komórce powoduje, że działa tylko sam domyślny padding (szerokość .4em, wysokość .2em). Wstawienie jednej lub więcej samotnych spacji nic nie zmieni (oprogramowanie tego nie zauważy). Dopiero wstawienie niewidocznego znaku encji twardej spacji „&nbsp;” spowoduje, że oprogramowanie zobaczy, że komórka już nie jest pusta.

Sprawę rozwiązuje wstawienie do jednej z komórek (najlepiej do pierwszej w szeregu):

  • w przypadku wiersza – jednej encji twardej spacji &nbsp;,
  • w przypadku kolumny – czterech encji twardej spacji &nbsp;&nbsp;&nbsp;&nbsp;.

Poniżej przykład dla wiersza pustych komórek:

1A 1B 1C
 
{| class="wikitable"
| 1A
| 1B
| 1C
|-
|
|
|
|-
| &nbsp;
|
|
|}
{| class="wikitable"
| 1A || 1B || 1C
|-
| || ||
|-
| &nbsp; || ||
|}

Poniżej przykład dla kolumny pustych komórek:

1A      1D
2A 2D
{| class="wikitable"
| 1A
|
| &nbsp;&nbsp;&nbsp;&nbsp;
| 1D
|-
| 2A
|
|
| 2D
|}
{| class="wikitable"
| 1A || || &nbsp;&nbsp;&nbsp;&nbsp; || 1D
|-
| 2A || || || 2D
|}

Obecność encji możemy zauważyć, gdy zaznaczymy tabelę.

Problem zbyt małej szerokości lub wysokości można rozwiązać też innymi metodami, np. poleceniami padding lub height, ale użycie encji jest najłatwiejsze, najbezpieczniejsze i najłatwiej zrozumiane przez innych edytujących.

4. Brakujące komórki

Można pominąć zdefiniowanie niektórych komórek, ale tylko na prawym końcu wiersza tabeli. Zazwyczaj wygląda to niezbyt estetycznie, ale czasami autorzy znajdują uzasadnienie dla takiego rozwiązania.

01A 01B 01C
1A
2A 2B
3A 3B 3C 3D
{| class="wikitable"
! 01A
! 01B
! 01C
|-
| 1A
|-
| 2A
| 2B
|-
| 3A
| 3B
| 3C
| 3D
|}
{| class="wikitable"
! 01A || 01B || 01C
|-
| 1A
|-
| 2A || 2B
|-
| 3A || 3B || 3C || 3D
|}

Uwaga: w zależności od przeglądarki, fragment obramowania tabeli może zniknąć w miejscu brakujących komórek (np. Firefox wyświetla, Chrome wycina).

Po uzupełnieniu brakujących komórek z powyższego układu, wygląda to tak:

01A 01B 01C
1A
2A 2B
3A 3B 3C 3D

Nie da się zrobić całego wiersza brakujących komórek poprzez zdublowanie samego znacznika początku wiersza. Poniższy układ nie zadziała, drugi znacznik nowego wiersza (jako ostatni) będzie ważny dla programu, wcześniejszy to balast. Całej brakującej kolumny nie da się zrobić tym bardziej. Ale po co? Wystarczy jedna pusta kolumna lub wiersz przez całą wysokość lub szerokość tabeli. Można co najwyżej na styku kolumny i wiersza (dla symulacji) nadpisać w pustej komórce krawędzie kolorem tła lub stylem obramowania "hidden" (opisane w sekcji o scalaniu).

| komórka
|-           <- balast (można usunąć)
|-           <- znacznik ważny dla programu
| komórka
5. Puste i brakujące – inna metoda

Puste komórki można też ukryć, tzn. ukryć ich obramowanie, ale tylko w tabeli z rozsuniętymi komórkami:

  • polecenie empty-cells: hide działa tylko z border-collapse: separate,
    • zestaw powyższych poleceń działa tylko na całą tabelę,
  • ukryto tylko: 01C, 1A, 2C, 3A i 3B, natomiast 1C i 1D to komórki brakujące.
01A 01B 01D
1B
2A 2B 2D
3C 3D
{| class="wikitable" style="border-collapse: separate; empty-cells: hide"
! 01A || 01B || || 01D
|-
| || 1B
|-
| 2A || 2B || || 2D
|-
| || || 3C || 3D
|}

Teraz można ten niewielki domyślny odstęp powiększyć, dodając polecenie border-spacing:
{| class="wikitable" style="border-collapse: separate; border-spacing: 1ex; empty-cells: hide"

...wybranym komórkom, np. ze strzałkami, ukryć obramowanie:
|style="border-style:hidden"| →

...komórkom ze strzałkami w dół dodatkowo dać padding na zero i wyrównywanie w poziomie:
|style="border-style:hidden; padding:0; text-align:center"| ↓

by uzyskać coś takiego:

1A 1B
2A 2B

Scalanie komórekEdytuj

1. Scalanie komórek – zasada działania

Kilka sąsiednich komórek tabeli (w pionie lub poziomie) można wyświetlić jako jedną wspólną komórkę. Czynność taka nazywana jest scalaniem lub łączeniem komórek. Pomimo że obu nazw używa się powszechnie, z technicznego punktu widzenia są to określenia mylące. W rzeczywistości pierwsza w grupie górna lub lewa komórka są powiększane (rozciągane) w ten sposób, że zajmują również miejsce sąsiednich komórek. W związku z tym zasłonięte komórki trzeba usunąć z kodu tabeli. Nieusunięcie ich skutkuje błędem przesunięcia tych i następnych komórek w prawo lub na dół.

2. Scalanie w pionie – polecenie „rowspan”

Poniżej fragment kodu ze scaleniem 3 komórek w pionie.
Jak widać, podczas scalania usunięto z kodu komórki 3 i 4:

przed scaleniem:      po scaleniu:

| Komórka 1           | Komórka 1
|-                    |-
| Komórka 2           |rowspan=3| Komórka 2
|-                    |-
| Komórka 3           | Komórka 5
|-
| Komórka 4
|-
| Komórka 5

Przykład całej tabeli z 2 komórkami scalonymi w pionie:

{| class="wikitable"
| Komórka 1A
|rowspan=2| Komórka 1B
| Komórka 1C
|-
| Komórka 2A
| Komórka 2C
|-
| Komórka 3A
| Komórka 3B
| Komórka 3C
|}
{| class="wikitable"
| Komórka 1A ||rowspan=2| Komórka 1B || Komórka 1C
|-
| Komórka 2A || Komórka 2C
|-
| Komórka 3A || Komórka 3B || Komórka 3C
|}

...co daje:

Komórka 1A Komórka 1B Komórka 1C
Komórka 2A Komórka 2C
Komórka 3A Komórka 3B Komórka 3C
3. Scalanie w poziomie – polecenie „colspan”

Poniżej fragment kodu ze scaleniem 3 komórek w poziomie.
Jak widać, podczas scalania usunięto z kodu komórki 3 i 4:

przed scaleniem:      po scaleniu:

| Komórka 1           | Komórka 1
| Komórka 2           |colspan=3| Komórka 2
| Komórka 3           | Komórka 5
| Komórka 4
| Komórka 5

Przykład całej tabeli z 2 komórkami scalonymi w poziomie:

{| class="wikitable"
| Komórka 1A
| Komórka 1B
| Komórka 1C
| Komórka 1D
|-
| Komórka 2A
|colspan=2| Komórka 2B
| Komórka 2D
|-
| Komórka 3A
| Komórka 3B
| Komórka 3C
| Komórka 3D
|}
{| class="wikitable"
| Komórka 1A || Komórka 1B || Komórka 1C || Komórka 1D
|-
| Komórka 2A ||colspan=2| Komórka 2B || Komórka 2D
|-
| Komórka 3A || Komórka 3B || Komórka 3C || Komórka 3D
|}

...co daje:

Komórka 1A Komórka 1B Komórka 1C Komórka 1D
Komórka 2A Komórka 2B Komórka 2D
Komórka 3A Komórka 3B Komórka 3C Komórka 3D
4. Scalanie w pionie i poziomie – jednocześnie

Ten sam zakres komórek można opatrzyć jednocześnie oboma poleceniami scalania. W efekcie nowo powstała komórka będzie rozciągnięta w obu kierunkach.

W poniższym przykładzie podczas scalania usunięto komórki 1B, 1C oraz 2A, 2B i 2C:

1A 1D 1E
2D 2E
3A 3B 3C 3D 3E
4A 4B 4C 4D 4E
{| class="wikitable"
|colspan=3 rowspan=2| 1A || 1D || 1E
|-
| 2D || 2E
|-
| 3A || 3B || 3C || 3D || 3E
|-
| 4A || 4B || 4C || 4D || 4E
|}
5. Scalanie kształtów innych niż prostokątne

Scalenie grupy komórek o innym kształcie niż prostokąt jest niemożliwe, ale można zasymulować taki kształt, nadając wybranym krawędziom wartość „hidden”, czyli ukrywając je. Komórki te nadal nie będą scalone, więc wypełnienie ich treścią będzie utrudnione, ale można też zostawić je puste.

{| class="wikitable"
|-
| 1A || 1B || 1C || 1D || 1E
|-
| 2A ||style="border-bottom: hidden; border-right: hidden"| ||colspan=2| || 2E
|-
| 3A ||rowspan=2| || 3C || 3D || 3E
|-
| 4A || 4C || 4D || 4E
|-
| 5A || 5B || 5C || 5D || 5E
|}

...co daje:

1A 1B 1C 1D 1E
2A 2B 2C 2E
3A 3B 3C 3D 3E
4A 4C 4D 4E
5A 5B 5C 5D 5E
1A 1B 1C 1D 1E
2A ↓→ 2E
3A 3C 3D 3E
4A 4C 4D 4E
5A 5B 5C 5D 5E

Więcej przykładów nietypowych kształtów znajduje się na końcu podstrony: Pomoc:Tabele (scalanie).

6. Inne przykłady

1) Scalenie wielopoziomowych nagłówków:

01A 01E
02A 02C 02E 02G
03A 03B 03C 03D 03E 03F 03G 03H
1A 1B 1C 1D 1E 1F 1G 1H
2A 2B 2C 2D 2E 2F 2G 2H
3A 3B 3C 3D 3E 3F 3G 3H
{| class="wikitable"
!colspan=4| 01A ||colspan=4| 01E
|-
!colspan=2| 02A ||colspan=2| 02C ||colspan=2| 02E ||colspan=2| 02G
|-
! 03A || 03B || 03C || 03D || 03E || 03F || 03G || 03H
|-
| 1A || 1B || 1C || 1D || 1E || 1F || 1G || 1H
|-
| 2A || 2B || 2C || 2D || 2E || 2F || 2G || 2H
|-
| 3A || 3B || 3C || 3D || 3E || 3F || 3G || 3H
|}

2) Struktura hierarchiczna, licząc od lewej strony:

01A 01B 01C 01D 01E 01F
1A 1B 1C 1D 1E 1F
2D 2E 2F
3C 3D 3E 3F
4D 4E 4F
5B 5C 5D 5E 5F
6D 6E 6F
7C 7D 7E 7F
8D 8E 8F
{| class="wikitable"
! 01A || 01B || 01C || 01D || 01E || 01F
|-
|rowspan=8| 1A ||rowspan=4| 1B ||rowspan=2| 1C || 1D || 1E || 1F
|-
| 2D || 2E || 2F
|-
|rowspan=2| 3C || 3D || 3E || 3F
|-
| 4D || 4E || 4F
|-
|rowspan=4| 5B ||rowspan=2| 5C || 5D || 5E || 5F
|-
| 6D || 6E || 6F
|-
|rowspan=2| 7C || 7D || 7E || 7F
|-
| 8D || 8E || 8F
|}

Więcej przykładów znajduje się na podstronie: Pomoc:Tabele (scalanie).

Marginesy (wewnętrzne i zewnętrzne)Edytuj

1. Marginesy – składnia
  • Marginesy to odstępy na zewnątrz lub do wewnątrz obramowania. Można je traktować jak odpychanie.
  • Można odpychać od wszystkich krawędzi obramowania lub tylko od wybranej:
Margin
(na zewnątrz)
Padding
(do wewnątrz)
zbiorczo:
style="margin: wartość"

indywidualnie:
style="margin-top: wartość"
style="margin-right: wartość"
style="margin-bottom: wartość"
style="margin-left: wartość"

zbiorczo:
style="padding: wartość"

indywidualnie:
style="padding-top: wartość"
style="padding-right: wartość"
style="padding-bottom: wartość"
style="padding-left: wartość"

W poleceniach zbiorczych można podawać:

  • tę samą wartość w każdym kierunku,
  • dwie pary wartości, kolejno: pion, poziom,
  • trzy wartości zgodnie ze wskazówkami zegara: góra, prawo (i lewo), dół,
  • cztery wartości zgodnie ze wskazówkami zegara: góra, prawo, dół, lewo:
style="parametr: wartość"
style="parametr: wartość1 wartość2"
style="parametr: wartość1 wartość2 wartość3"
style="parametr: wartość1 wartość2 wartość3 wartość4"

Poniżej przykłady dla „margin”, ale dotyczą też „padding”.

Przykład dla 4 różnych wartości:

style="margin: 6px 20px 4px 10px"

Warto jednak zauważyć, że:

style="margin: 20px"                 <- to samo
style="margin: 20px 20px"            <- to samo
style="margin: 20px 20px 20px"       <- to samo
style="margin: 20px 20px 20px 20px"  <- to samo

Tak samo w parach pion-poziom:

style="margin: 5px 10px"           <- to samo
style="margin: 5px 10px 5px"       <- to samo
style="margin: 5px 10px 5px 10px"  <- to samo

Istnieje jednak różnica pomiędzy podawaniem zera i podawaniem jednego kierunku:

style="margin-right: 20px"
style="margin: 0 20px 0 0"

...w pierwszym przypadku nastąpi zmiana tylko przy prawej krawędzi z zachowaniem domyślnych wartości przy pozostałych krawędziach, w drugim domyślne wartości zostaną zmniejszone do zera.

2. Co i jak można odpychać?
Znacznik Parametr
Po znaczniku początku tabeli margin*
Po znaczniku tytułu margin i padding
Po znaczniku komórki nagłówka lub zwykłej padding
Po znaczniku początku wiersza nie dotyczy

* Zobacz uwaga na końcu ramki.

...ponadto:

margin wartości ujemne i/lub dodatnie
padding tylko wartości dodatnie

Wartości domyślne:

Wikitabela (w skrócie:)
Tabela style="margin: 1em 0 1em 0" style="margin: 1em 0"
Tytuł tabeli style="margin: 0 0 0 0; padding: 0 0 0 0" style="margin: 0; padding: 0"
Komórka nagłówka i zwykła style="padding: .2em .4em .2em .4em" style="padding: .2em .4em"
Tabela niesformatowana (w skrócie:)
Tabela style="margin: 0 0 0 0" style="margin: 0"
Tytuł tabeli style="margin: 0 0 0 0; padding: 0 0 0 0" style="margin: 0; padding: 0"
Komórka nagłówka i zwykła style="padding: 1px 1px 1px 1px" style="padding: 1px"
Tabela sformatowana
"margin: 1em 0"
(domyślnie)
Tytuł
Nagłówek Nagłówek
Komórka Komórka
Tabela niesformatowana
"margin: 0"
(domyślnie)
Tytuł
Nagłówek Nagłówek
Komórka Komórka

Co ciekawe, padding działa nawet na tabelę zawierającą tylko jedną pustą komórkę:

{| class="wikitable"
|style="padding:20px"|
|}

{| class="wikitable"
|
|}

* Padding po znaczniku początku tabeli:
Tak naprawdę padding po znaczniku początku tabeli, czyli margines wewnętrzny obramowania tabeli, też jest możliwy (chodzi o ramkę samej tabeli bez obramowania komórek). Trzeba jednak użyć sztuczki w postaci dwóch pozornie sprzecznych poleceń – tabeli typu „separate” i ustawienia wartości tej separacji („border-spacing”) na zero, np.:

{| class="wikitable" style="border-collapse:separate; border-spacing: 0; padding: 5px 10px 15px 30px"
1A 1B
2A 2B

Rozwiązanie to ma jednak wadę – nie da się uzyskać tak cienkiego obrysu komórek, jak w normalnej wikitabeli – tutaj obrys będzie podwójny, bo krawędzie będą się stykać, a nie nachodzić na siebie.

Wikitabela ma parametr „border-collapse” domyślnie ustawiony na wartość „collapse”, natomiast tabela niesformatowana ma domyślnie wartość „separate”. Domyślna wartość „border-spacing” wynosi 2px.

3. Marginesy – po znaczniku początku tabeli

Przykłady powiększania odstępów:

  • przed tabelą o wartość „1em”:
{| class="wikitable" style="margin-top: 1em"
  • przed tabelą o wartość „1em”, a po tabeli o „2em”:
{| class="wikitable" style="margin-top: 1em; margin-bottom: 2em"
  • przed i po tabeli o taką samą wartość, np. „1em”:
    • metoda 1 (dwa parametry):
{| class="wikitable" style="margin-top: 1em; margin-bottom: 1em"
  • metoda 2 (jeden parametr, dwie wartości):
{| class="wikitable" style="margin: 1em 0"

powyżej w drugiej metodzie podano wartość jednocześnie dla góry i dołu („1em”), co wymusiło podanie do pary jakiejś wartości w poziomie, a domyślnie jest nią (dla tabeli w poziomie) zero.

Wartości można podawać w konkretnych jednostkach, albo dać samo zero, ewentualnie zastosować wartość „auto”, która oblicza optymalne wartości dla odstępów poziomych, wyśrodkowując. Niestety wśród tych możliwości nie ma czegoś takiego jak „wartość domyślna”, którą chcielibyśmy zastąpić jedną z wartości w poleceniu zbiorczym. W takiej sytuacji trzeba skorzystać z wybranych poleceń indywidualnych.

Przykłady zmniejszania odstępów:

  • przed tabelą o wartość „-1ex”:
{| class="wikitable" style="margin-top: -1ex"

Powyżej podano wartość w jednostkach [ex], które są mniejsze od jednostek [em], a dokładnie jest to wysokość liter bez wydłużeń górnych ani dolnych. Taka wartość wydaje się bezpieczniejsza dla odstępu ujemnego, można też podać inaczej, np. [-.5em] albo [-8px]. Chodzi o to, by nie przesadzić ze zbliżeniem do sąsiadującego akapitu w artykule.

Poniżej przykład działania ujemnych marginesów. Aby było je widać, przykładowe tabele osadzono w jednokomórkowych tabelach nadrzędnych. Użyto kolejno poleceń:

{|class="wikitable" style="margin-top: -1em"
{|class="wikitable" style="margin-bottom: -1em"
{|class="wikitable" style="margin-left: -1em"
{|class="wikitable" style="margin-right: -1em"
Nagłówek A Nagłówek B
Komórka A Komórka B
Nagłówek A Nagłówek B
Komórka A Komórka B
Nagłówek A Nagłówek B
Komórka A Komórka B
Nagłówek A Nagłówek B
Komórka A Komórka B

Uwaga:
W parametrze „margin” odstępy pionowe (ale tylko pionowe) nakładają się na siebie, a nie dodają (liczy się większy), np.:

1 i 0 → 1,
1 i 1 → 1,
1 i 2 → 2.

Powyższe działa także dla obu wartości niedodatnich, np.:

-1 i  0 → -1,
-1 i -1 → -1,
-1 i -2 → -2.

Jednak przy przeciwstawnych znakach wartości sumują się:

-1 i  1 →  0,
-1 i  3 →  2.
 1 i -3 → -2.

Nakładanie się na siebie odstępów pionowych „margin” ma znaczenie nie tylko przy ustawianiu sąsiadujących tabel w pionie, ale także na styku tabel z innymi elementami, czyli z treścią artykułu (np. z akapitami, obrazkami, nagłówkami czy infoboxami), bo one również mają zdefiniowany parametr „margin”.

Przykłady – odstępy poziome:

"margin-right: 0"
"margin-left: 0"


"margin-right: 1em"
"margin-left: 0"


"margin-right: 0"
"margin-left: 1em"


"margin-right: 1em"
"margin-left: 1em"


Przykłady – odstępy pionowe:

-2em + 1em → -1em
"margin-bottom: -2em"
margin domyślnie
-1em + 1em → 0
"margin-bottom: -1em"
margin domyślnie
0 + 1em → 1em
"margin-bottom: 0"
margin domyślnie
1em + 1em → 1em
"margin-bottom: 1em" (domyślnie)
margin domyślnie
2em + 1em → 2em
"margin-bottom: 2em"
margin domyślnie
4. Marginesy – osadzenie tabeli idealnie w komórce tabeli nadrzędnej

Tabela osadzona w komórce tabeli nadrzędnej jest wyświetlana z domyślnym marginesem własnym i domyślnym paddingiem komórki obejmującej:

Nagłówek A Nagłówek B
Komórka A Komórka B

Aby tabelę osadzić idealnie w komórce tabeli nadrzędnej, trzeba wykonać 3 operacje:

  • komórka nadrzędna – padding na zero,
  • tabela osadzona – margin na zero i ukrycie jej obramowania (wartość: hidden)
1A 1B 1C
2A
Nagłówek A Nagłówek B
Komórka A Komórka B
2C
3A 3B 3C
{| class="wikitable"
| 1A || 1B || 1C
|-
| 2A
|style="padding: 0"|
{| class="wikitable" style="margin: 0; border-style: hidden"
! Nagłówek A || Nagłówek B
|-
| Komórka A || Komórka B
|}
| 2C
|-
| 3A || 3B || 3C
|}
5. Marginesy – po znaczniku tytułu

Tytuł tabeli jest jedynym miejscem, gdzie można użyć obu poleceń, co daje okazję do porównania ich działania.

  • Kolorem i obrysem zaznaczono powierzchnię komórki.
  • Użyto kolejno poleceń:
|+ style="background: Gold; border: solid 1px"| Tytuł Tytuł Tytuł Tytuł
|+ style="background: Gold; border: solid 1px; margin:40px"| Tytuł Tytuł Tytuł Tytuł
|+ style="background: Gold; border: solid 1px; padding:40px"| Tytuł Tytuł Tytuł Tytuł
|+ style="background: Gold; border: solid 1px; margin:40px; padding:40px"| Tytuł Tytuł Tytuł Tytuł

Jak widać poniżej, kontener z tytułem tabeli działa nietypowo, bo nie może wyjść poza szerokość tabeli, przez co „margin” spycha wszystko do środka:

brak polecenia marginesu margin: 40px padding: 40px margin: 40px
padding: 40px

Akapit przed tabelą

Tytuł Tytuł Tytuł Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B

Akapit po tabeli

Akapit przed tabelą

Tytuł Tytuł Tytuł Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B

Akapit po tabeli

Akapit przed tabelą

Tytuł Tytuł Tytuł Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B

Akapit po tabeli

Akapit przed tabelą

Tytuł Tytuł Tytuł Tytuł
Nagłówek A Nagłówek B
Komórka 1A Komórka 1B

Akapit po tabeli

A tak działa ujemny „margin” w tytule tabeli:

Tytuł Tytuł Tytuł Tytuł
Nagłówek A
Komórka 1A
6. Marginesy – po znaczniku komórki
  • Padding działa tak samo w komórkach nagłówka i zwykłych.
  • Powiększenie paddingu w jednej komórce wpływa oczywiście:
    • w pionie na cały wiersz,
    • w poziomie na całą kolumnę,
    • nie ma jednak poleceń zbiorczych, tzn. żeby powiększyć padding w każdej komórce – trzeba to robić w każdej komórce indywidualnie (padding nie działa po znaczniku początku wiersza, a znacznik kolumny nawet nie istnieje).
  • Komórki puste nie mają wysokości wiersza, za to własny bardzo mały padding, ale padding ten można regulować, a najlepiej wstawić encję twardej spacji, by pusta komórka zachowywała się jak normalna:
|
 
| &nbsp;
|style="padding: 20px"|
 
|style="padding: 20px"| &nbsp;
tekst
|style="padding: 20px"| tekst

I jeszcze jedno zestawienie:

"padding: 0"
tekst
tekst
"padding-top: 0; padding-bottom: 0"
"padding-left: 0; padding-right: 0"
tekst
tekst
"padding: .2em .4em" (domyślne)

Wyrównywanie i oblewanie tabeliEdytuj

1. Wyrównanie tabeli do lewej
Wyrównanie do lewej – bez oblewania:
  • Jest to ustawienie domyślne.
Akapit przed tabelą.
Tabela

Akapit po tabeli.

{| class="wikitable"
Wyrównanie do lewej – z oblewaniem:
  • Robi to polecenie „float: left”.
  • Dodano odstęp „1em” z prawej, aby tekst nie dotykał tabeli.
Akapit przed tabelą: abc abc abc abc.
Tabela

Akapit po tabeli: abc abc abc abc abc abc abc abc abc abc abc abc abc.

{| class="wikitable" style="float: left; margin-right: 1em"
2. Wyśrodkowanie tabeli
Wyrównanie w osi – bez odstępów pionowych:
  • Wartość margin ustawiona na „auto” zeruje odstępy w pionie, natomiast w poziomie nadaje takie same odstępy po obu stronach tabeli, w ten sposób tabela będzie równo odpychana po obu stronach od marginesów artykułu lub np. od ilustracji czy infoboxu.
Akapit przed tabelą.
Tabela

Akapit po tabeli.

{| class="wikitable" style="margin: auto"
Wyrównanie w osi – z zachowaniem pionowych odstępów:
  • Poniżej dodano wartość „1em”, aby przywrócić oba odstępy pionowe domyślne dla wikitabeli.
Akapit przed tabelą.
Tabela

Akapit po tabeli.

{| class="wikitable" style="margin: 1em auto"
3. Wyrównanie tabeli do prawej
Wyrównanie do prawej – bez oblewania:
  • Robi to polecenie „margin-left: auto”.
Akapit przed tabelą.
Tabela

Akapit po tabeli.

{| class="wikitable" style="margin-left: auto"
Wyrównanie do prawej – z oblewaniem:
  • Robi to polecenie „float: right”.
  • Dodano odstęp „1em” z lewej, aby tekst nie dotykał tabeli.
Akapit przed tabelą: abc abc abc abc.
Tabela

Akapit po tabeli: abc abc abc abc abc abc abc abc abc abc abc abc abc.

{| class="wikitable" style="float: right; margin-left: 1em"
4. Tabele obok siebie
Tabele na styk – w pionie:
  • Wystarczy ustawić pionowe marginesy na „0”, a ponieważ poziome są zerowe domyślnie, to wystarczy podać ogólnie „margin:0”.
Tabela1
Tabela2
Tabela3
{| class="wikitable" style="margin:0"
| Tabela1
|}
{| class="wikitable" style="margin:0"
| Tabela2
|}
{| class="wikitable" style="margin:0"
| Tabela3
|}
  • W powyższym przykładzie zestaw tabel będzie w oddzielnym wierszu (i przy lewym marginesie). Aby włączyć oblewanie z prawej strony, można ten zestaw wstawić do poniższego kodu:
{| style="float:left; margin-right:1em"
|
TUTAJ
|}

...natomiast gdy tabele mają być przy prawym marginesie i oblewane z lewej, to wtedy powyższe parametry odwrotnie:

{| style="float:right; margin-left:1em"
|
TUTAJ
|}
Tabele na styk – w poziomie:
  • Robi to polecenie „float:left”.
Tabela1
Tabela2
Tabela3


{| class="wikitable" style="float:left"
| Tabela1
|}
{| class="wikitable" style="float:left"
| Tabela2
|}
{| class="wikitable" style="float:left"
| Tabela3
|}
{{clear}}
  • W powyższym przykładzie dodano na końcu kodu {{clear}} dla wyłączenia oblewania. Jest to oczywiście opcjonalne.
Różnice wyświetlania w przeglądarkach:
  • W zależności od przeglądarki i systemu operacyjnego tabele na styk mogą nachodzić na siebie i przez to mieć wspólną krawędź lub stykać się z sobą, przez co miejsce styku tabel będzie miało krawędź podwójnej grubości.
5. Wyrównywanie tabel – zaawansowane
Kilka tabel w jednym wierszu:
  • Poniższy kod...
Tekst akapitu powyżej.
{| class="wikitable" style="float:left; margin: 1ex 1em 0 0"
| Tabela1
|}
{| class="wikitable" style="float:left; margin: 1ex 1em 0 0"
| Tabela2
|}
{| class="wikitable" style="float:right; margin: 1ex 0 0 1em"
| Tabela3
|}
{| class="wikitable" style="float:right; margin: 1ex 0 0 1em"
| Tabela4
|}
Tekst akapitu poniżej: abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc.

...wyświetli się tak:

Tekst akapitu powyżej.

Tabela1
Tabela2
Tabela3
Tabela4

Tekst akapitu poniżej: abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc.

  • Powyżej warto zauważyć, że najpierw wyświetla się Tabela4, potem Tabela3.
6. Wyrównywanie tabel – problem z „float”
  • Użycie polecenia „float” powoduje włączenie oblewania tekstem. W przypadku zbyt wysokich tabel, mogą one zachodzić zbyt daleko na dół. Jeżeli tego nie chcemy, należy użyć szablonu {{clear}}, wstawiając go w kodzie nad miejscem, które chcemy oddzielić. Po kliknięciu w podany link wyświetli się opis tego szablonu wraz z jego dodatkowymi opcjami.
  • Możemy tak odpychać w dół nie tylko kolejne akapity, ale także tabele, ilustracje czy nagłówki sekcji.
Bez szablonu

Akapit1

1A 1B
2A 2B
3A 3B

Akapit2

Akapit3

Po użyciu szablonu

Akapit1

1A 1B
2A 2B
3A 3B

Akapit2

Akapit3

Akapit1
{| class="wikitable" style="float:left; margin:0 1em 0 0"
| 1A || 1B
|-
| 2A || 2B
|-
| 3A || 3B
|}

Akapit2
{{clear}}   <- szablon odpychania

Akapit3

Wyrównywanie tekstu – w poziomieEdytuj

1. Składnia

Pełne polecenia wyrównywania to:

style="text-align:left"          do lewej
style="text-align:center"        w osi
style="text-align:right"         do prawej

Skrócone polecenia wyrównywania (działają tylko na komórki zwykłe) to:

align="left"
align="center"
align="right"
2. Gdzie i co można wyrównywać w poziomie?
Po znaczniku początku tabeli wszystkie komórki zwykłe w całej tabeli
Po znaczniku tytułu tytuł tabeli
Po znaczniku początku wiersza wszystkie komórki zwykłe w danym wierszu
Po znaczniku komórki pojedyncza komórka nagłówka
pojedyncza komórka zwykła
  • Jak widać:
    • wyrównywanie tekstu w komórkach nagłówka można zmieniać:
      • tylko indywidualnie w każdej komórce,
    • wyrównywanie tekstu w komórkach zwykłych można zmienić:
      • dla wszystkich komórek w tabeli,
      • dla wszystkich komórek w wierszu,
      • indywidualnie w każdej komórce,
    • przy czym powyższe trzy metody dla komórek zwykłych mogą się na siebie nakładać, gdzie:
      • wyrównywanie w tabeli – najniższy priorytet,
      • wyrównywanie w wierszu – wyższy,
      • wyrównywanie w komórce – najwyższy.
  • Można więc np. zadeklarować wyrównywanie w komórkach całej tabeli, po czym zmienić to wybranym wierszu (lub wierszach), a na koniec zmienić jeszcze raz – indywidualnie w każdej potrzebnej komórce.
  • Nie da się objąć jednym poleceniem kilku komórek (ale można komórki scalone).
  • Uwaga: na końcu tej sekcji jest opisana specjalna klasa umożliwiająca wyrównywanie do prawej wybranych kolumn łącznie z komórkami nagłówka.
3. Wartości domyślne
Rodzaj tekstu     Kierunek    
Tytuł tabeli center
Komórka nagłówka center
Komórka zwykła left
4. Wyrównywanie w poziomie – po znaczniku tabeli

Po znaczniku początku tabeli można wyrównywać tekst tylko poleceniem stylu.

  • Polecenie działa na wszystkie komórki zwykłe w całej tabeli.
  • Komórek nagłówka nie da się tak wyrównywać, bo mają własne formatowanie.
{| class="wikitable" style="text-align: wartość"

Skrócone polecenie wyrównywania działa na początku tabeli wadliwie i niekonsekwentnie. Wikitabelę wyrównuje do prawego brzegu artykułu, tabelę niesformatowaną wyrównuje do prawej lub środka.

{| class="wikitable" align="wartość"   ← nie używać tutaj
5. Wyrównywanie w poziomie – po znaczniku tytułu

Przykład. Tytuł tabeli do prawej:

Tytuł
Nagłówek A Nagłówek B
Komórka A Komórka B
{| class="wikitable"
|+ style="text-align:right"| Tytuł
! Nagłówek A || Nagłówek B
|-
| Komórka A || Komórka B
|}
6. Wyrównywanie w poziomie – po znaczniku wiersza

Poniżej wyrównywanie zbiorczo – wszystkich komórek w danym wierszu:

  • wyrównywania komórek nagłówka nie pokazano, bo w tabelach z klasą "wikitable" komórki nagłówka można wyrównywać tylko indywidualnie,
  • wyrównywanie w wierszu do lewej (domyślne) ma sens, jeżeli nadrzędnie (w tabeli) zdefiniowano inny kierunek,
  • jak widać, na komórki zwykłe działają po znaczniku wiersza oba polecenia – pełne i skrócone.
style="text-align:wartość"
Nagłówek A Nagłówek B Nagłówek C
1A 1B 1C
2A 2B 2C
3A 3B 3C
align="wartość"
Nagłówek A Nagłówek B Nagłówek C
4A 4B 4C
5A 5B 5C
6A 6B 6C
{| class="wikitable"
! Nagłówek A
! Nagłówek B
! Nagłówek C
|- style="text-align:left"
| 1A || 1B || 1C
|- style="text-align:center"
| 2A || 2B || 2C
|- style="text-align:right"
| 3A || 3B || 3C
|}
{| class="wikitable"
! Nagłówek A
! Nagłówek B
! Nagłówek C
|- align="left"
| 4A || 4B || 4C
|- align="center"
| 5A || 5B || 5C
|- align="right"
| 6A || 6B || 6C
|}
7. Wyrównywanie w poziomie – po znaczniku komórki

Poniżej polecenia z osobna dla każdej komórki:

  • jak widać, komórek nagłówka nie da się wyrównywać poleceniem skróconym (wiersz 02).
style="text-align:wartość"
Nagłówek A Nagłówek B Nagłówek C
01A 01B 01C
1A 1B 1C
align="wartość"
Nagłówek A Nagłówek B Nagłówek C
02A ! 02B ! 02C !
2A 2B 2C
{| class="wikitable"
! Nagłówek A
! Nagłówek B
! Nagłówek C
|-
!style="text-align:left"| 01A
!style="text-align:center"| 01B
!style="text-align:right"| 01C
|-
|style="text-align:left"| 1A
|style="text-align:center"| 1B
|style="text-align:right"| 1C
|}
{| class="wikitable"
! Nagłówek A
! Nagłówek B
! Nagłówek C
|-
!align="left"| 02A
!align="center"| 02B
!align="right"| 02C
|-
|align="left"| 2A
|align="center"| 2B
|align="right"| 2C
|}
8. Wyrównywanie w poziomie – inne elementy niż tekst
  • Polecenie style="text-align:wartość" nie wyrównuje osadzonych tabel.
  • Polecenie align="wartość" działa na wszystkie elementy w komórce.
Nagłówek A Nagłówek B Nagłówek C
style="...left"
style="...center"
style="...right"
align="left"
align="center"
align="right"
9. Wyrównywanie do prawej w wybranych kolumnach

Robi się to specjalnie zmodyfikowaną klasą "wikitable", ale:

  • metoda dotyczy tylko wyrównywania do prawej (nie działa do lewej lub w osi).
  • działa nawet na komórki nagłówka,
    • jeżeli nie chcemy wyrównania do prawej komórek nagłówka, można je indywidualnie poprawić,
  • działa maksymalnie do 9. kolumny.

Np. w celu wyrównania do prawej kolumn 3 i 4, należy kod tabeli rozpocząć w poniższy sposób (i nie trzeba robić nic więcej):

{| class="wikitable col-3-text-align-right col-4-text-align-right"

...co da poniższy efekt:

Nagłówek A Nagłówek B Nagłówek C Nagłówek D Nagłówek E
01A 01B 01C 01D 01E
1A 1B 1C 1D 1E
2A 2B 2C 2D 2E
3A 3B 3C 3D 3E

Wyrównywanie tekstu – w pionieEdytuj

1. Wyrównywanie w pionie – składnia

Pełne polecenia wyrównywania w pionie to:

style="vertical-align:top"          do góry
style="vertical-align:middle"       w połowie
style="vertical-align:bottom"       do dołu

Skrócone polecenia wyrównywania w pionie to:

valign="top"           do góry
valign="middle"        w połowie
valign="bottom"        do dołu

Oba powyższe zestawy poleceń działają identycznie, także na tabele osadzone (podczas gdy przy wyrównywaniu w poziomie jest różnica).

2. Gdzie i co można wyrównywać w pionie?
Po znaczniku początku tabeli nie działa
Po znaczniku tytułu nie dotyczy
Po znaczniku początku wiersza wszystkie komórki (nagłówka lub zwykłe)
Po znaczniku komórki każda z osobna komórka (nagłówka lub zwykła)
  • Jak widać, jest inaczej niż przy wyrównywaniu w poziomie, bo tu po znaczniku wiersza ulegają wyrównaniu nawet komórki nagłówka.
  • Wyrównywanie w wierszu ma niższy priorytet, w komórce – wyższy. Można więc zdefiniować wiersz, a następnie zmieniać to w komórkach.
  • Nie da się objąć jednym poleceniem kilku komórek (ale można komórkę scaloną).
3. Wyrównywanie w pionie – wartości domyślne
Rodzaj tekstu Położenie
Tytuł tabeli nie dotyczy
Komórka
nagłówka
...
middle
Komórka
zwykła
...
middle

...czyli innymi słowy wszystko w tabelach jest domyślnie wyrównane do połowy wysokości.

4. Wyrównywanie w pionie – po znaczniku tabeli

Wyrównywanie zbiorczo poleceniem dla całej tabeli NIE DZIAŁA:

{| class="wikitable" style="vertical-align:top"
{| class="wikitable" style="vertical-align:middle"
{| class="wikitable" style="vertical-align:bottom"

{| class="wikitable" valign="top"
{| class="wikitable" valign="middle"
{| class="wikitable" valign="bottom"

...co widać na poniższym przykładzie (gdzie nic się nie zmienia):

...top"
01A
01A
01B
1A
1A
1B
 
...middle"
01A
01A
01B
1A
1A
1B
 
...bottom"
01A
01A
01B
1A
1A
1B
5. Wyrównywanie w pionie – po znaczniku wiersza

Poniżej polecenia po kolei dla każdego wiersza (w kodzie pełne i skrócone):

01A
01A
01A
01B
01B
01C
02A
02A
02A
02B
02B
02C
03A
03A
03A
03B
03B
03C
1A
1A
1A
1B
1B
1C
2A
2A
2A
2B
2B
2C
3A
3A
3A
3B
3B
3C
{| class="wikitable"
|- style="vertical-align:top"
! 01A<br />01A<br />01A
! 01B<br />01B
! 01C
|- style="vertical-align:middle"
! 02A<br />02A<br />02A
! 02B<br />02B
! 02C
|- style="vertical-align:bottom"
! 03A<br />03A<br />03A
! 03B<br />03B
! 03C
|- style="vertical-align:top"
| 1A<br />1A<br />1A
| 1B<br />1B
| 1C
|- style="vertical-align:middle"
| 2A<br />2A<br />2A
| 2B<br />2B
| 2C
|- style="vertical-align:bottom"
| 3A<br />3A<br />3A
| 3B<br />3B
| 3C
|}
{| class="wikitable"
|- valign="top"
! 01A<br />01A<br />01A
! 01B<br />01B
! 01C
|- valign="middle"
! 02A<br />02A<br />02A
! 02B<br />02B
! 02C
|- valign="bottom"
! 03A<br />03A<br />03A
! 03B<br />03B
! 03C
|- valign="top"
| 1A<br />1A<br />1A
| 1B<br />1B
| 1C
|- valign="middle"
| 2A<br />2A<br />2A
| 2B<br />2B
| 2C
|- valign="bottom"
| 3A<br />3A<br />3A
| 3B<br />3B
| 3C
|}
  • W powyższym przykładzie polecenie "vertical-align:middle" dla całego wiersza jest pokazane tylko dla formalności, bo wyrównywanie w połowie komórki jest domyślne. Gdyby dla całej tabeli dało się zmienić w górę lub w dół, wtedy dla konkretnego wiersza można by to przywrócić w połowie, ale polecenie nadrzędne, czyli dla całej tabeli – nie działa.
6. Wyrównywanie w pionie – po znaczniku komórki

Poniżej polecenia z osobna dla każdej komórki (w kodzie pełne i skrócone):

01A 01B 01C ...
...
...
1A 1B 1C ...
...
...
{| class="wikitable"
!style="vertical-align:top"| 01A
!style="vertical-align:middle"| 01B
!style="vertical-align:bottom"| 01C
! ...<br />...<br />...
|-
|style="vertical-align:top"| 1A
|style="vertical-align:middle"| 1B
|style="vertical-align:bottom"| 1C
| ...<br />...<br />...
|}
{| class="wikitable"
!valign="top"| 01A
!valign="middle"| 01B
!valign="bottom"| 01C
! ...<br />...<br />...
|-
|valign="top"| 1A
|valign="middle"| 1B
|valign="bottom"| 1C
| ...<br />...<br />...
|}
7. Wyrównywanie w pionie – inne elementy niż tekst

Oba polecenia – stylu style="vertical-align:... i skrócone valign=... działają normalnie także przy wyrównywaniu w pionie tabel osadzonych. Jest to różnica w porównaniu do wyrównywania w poziomie, gdzie polecenie stylu nie działa.

Nagłówek A Nagłówek B Nagłówek C
style="...top"
style="...middle"
style="...bottom"
valign="top"
valign="middle"
valign="bottom"
8. Wyrównywanie w pionie – marginesy

Warto zwrócić uwagę na jedną rzecz: tekst w komórce można, co się robi zazwyczaj, zacząć w tej samej linii kodu co znacznik komórki, ale czasami zaczyna się linię niżej (z różnych względów). Ta druga możliwość powoduje większe odstępy i od góry, i od dołu, i jak się okazuje, podczas wyrównywania nadal to widać (poniżej fragmenty kodu):

1A 1B 1C 1D

1E

...
...
...
2A 2B 2C 2D

2E

...
...
...
|style="vertical-align:top"| 1D
|style="vertical-align:top"|
1E

|style="vertical-align:bottom"| 2D
|style="vertical-align:bottom"|
2E
|valign="top"| 1D
|valign="top"|
1E

|valign="bottom"| 2D
|valign="bottom"|
2E
9. Użycie szablonu dla liczb

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!

KoloryEdytuj

Podstawy składniEdytuj

W większości przypadków powinno się stosować standardową wikipediową postać tabeli, czyli {| class="wikitable", która ma wypracowane zestawienie kolorystyczne pasujące do reszty oprawy graficznej wikipediowych stron. Daje to spójny wygląd encyklopedii i ułatwia ewentualne globalne zmiany. W przypadku użycia innych kolorów, można skorzystać z nazw lub wartości zebranych na stronie Pomoc:Kolory.

Wartość koloru można podawać na dwa sposoby:

  • wybierając odpowiednią nazwę koloru (lista rozpoznawanych nazw podana jest w Pomoc:Kolory),
    • np. kolor tła o nazwie LightSteelBlue, czyli style="background:LightSteelBlue";
  • podając wartość koloru jako kombinację trzech składowych koloru (czerwony, zielony, niebieski) wyrażoną liczbami szesnastkowymi, poprzedzoną znakiem #,
    • np. kolor tła o składowych „ff 00 00”, czyli style="background:#ff0000"|.

Dodatkowo dla wartości o cyfrach powtarzających się w parach można stosować zapis skrócony, podając tylko jedną szesnastkową cyfrę na kolor składowy – np. zamiast #ff0033 można podać #f03.

Składnia jest następująca (przykład dla koloru tekstu): style="color: PaleGreen", gdzie spacja po dwukropku jest opcjonalna, a wielkość liter w nazwie koloru nie ma znaczenia. W przykładach wyróżnienie wielkimi literami zostało zastosowane jedynie dla zwiększenia czytelności.

Wszystkie trzy polecenia kolorów, czyli tła background:, obramowania border: i tekstu color: umieszcza się we wspólnym poleceniu stylu (po każdym znaczniku tabeli, wiersza lub komórki może być tylko jeden styl), przedzielając polecenia średnikami, a wszystkie polecenia zawierając we wspólnym cudzysłowie, średnik na końcu kodu przed zamykającym znakiem cudzysłowu też jest opcjonalny, ale zwiększa czytelność dłuższego wyrażenia i ułatwia kopiowanie fragmentu kodu (tzw. dobra praktyka programistyczna), np.:

  • style="background: OliveDrab; border: solid 6px YellowGreen; color: White;".

W powyższym przykładzie wartości solid oraz 6px są niezbędnymi dodatkowymi parametrami krawędzi (w tym przypadku: linia ciągła o grubości 6px).

Oczywiście zamiast wszystkich trzech poleceń można we wspólnym stylu umieścić tylko dwa wybrane lub jedno.

Gdzie i co można kolorować?Edytuj

Kolor tła
style="background: wartość"

1) po znaczniku początku tabeli
    – łącznie z tłem pod komórkami brakującymi
    – (!) nie działa na tło tytułu
    – (!) nie działa na tło komórek nagłówka

Tytuł

2) po znaczniku tytułu

Tytuł

3) po znaczniku początku wiersza
    – tło wszystkich istniejących komórek zwykłych w wierszu
    – (!) nie działa na tło pod komórkami brakującymi
    – (!) nie działa na tło komórek nagłówka

4) po znaczniku komórki (nagłówka lub zwykłej)
    – także komórki scalone

Kolor tekstu
style="color: wartość"

5) po znaczniku początku tabeli
    – wszystko: także w tytule i komórkach nagłówka

Tytuł
A A A
A A A

6) po znaczniku tytułu

Tytuł
A A A
A A A

7) po znaczniku początku wiersza
    – także w komórkach nagłówka

A A A
A A A
A A A
A A A

8) po znaczniku komórki (nagłówka lub zwykłej)

A A A
A A A
Kolor obramowania
style="border: wartość"

9) po znaczniku początku tabeli
    – bez krawędzi wewnętrznych

Tytuł

10) po znaczniku tytułu

Tytuł

11) po znaczniku początku wiersza
    – łącznie z komórkami brakującymi
    – także z komórkami nagłówka
    – bez krawędzi wewnętrznych

12) po znaczniku komórki (nagłówka lub zwykłej)
    – także komórki scalone

Kolor jednej krawędzi obramowania
style="border-top: wartość"
style="border-right: wartość"
style="border-bottom: wartość"
style="border-left: wartość"

13) jak w pkt. 9–12 – tylko górna krawędź
14) jak w pkt. 9–12 – tylko prawa krawędź
15) jak w pkt. 9–12 – tylko dolna krawędź
16) jak w pkt. 9–12 – tylko lewa krawędź

Tytuł
Uwaga: krawędzie przy brakujących komórkach widać tylko w niektórych przeglądarkach
(np. Firefox – tak, Chrome – nie).

Kolejność nakładania kolorówEdytuj

Na kolor tła tabeli można nałożyć kolor tła wiersza, a na to kolor tła komórki. Dotyczy to również kolejności kolorowania obramowania i tekstu:

Tytuł
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
Tytuł
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D
Tytuł
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C 3D

Kolorowanie tłaEdytuj

Kolorowanie tła – składnia

Istnieją dwa polecenia dotyczące koloru tła:

(1) polecenie dotyczące tylko koloru tła,
(2) polecenie zbiorcze dla wielu parametrów tła, w tym dla koloru.

W drugim można podawać więcej nieistotnych dla nas parametrów dotyczących obrazka w tle. Pierwsze polecenie ma zastosowanie, gdy trzeba zmienić tylko kolor, nie zmieniając innych parametrów tła zdefiniowanych w elemencie nadrzędnym. W Wikipedii taka potrzeba nie zachodzi, przez co pierwsze polecenie jest zbędne.

W poleceniu zbiorczym (2) można podać tylko kolor tła, pomijając inne parametry. Ponadto polecenie zbiorcze jest lepsze, bo krótsze:

(1) style="background-color: wartość"
(2) style="background: wartość"         <− wygodniej

Istnieje również polecenie skrócone:

bgcolor="wartość"

...które działa tylko po znaczniku początku wiersza i znaczniku komórki zwykłej oraz działa wadliwie lub nie działa w ogóle przy stosowaniu niektórych rzadko stosowanych parametrów, np. sposobów podawania wartości „rgba”. (W tabelach niesformatowanych „bgcolor” działa po każdym znaczniku, nawet na komórki nagłówka).


Kolorowanie tła – po znaczniku początku tabeli

Działa tylko na komórki zwykłe i tło pod brakującymi, ponieważ komórki zwykłe mają tło dziedziczone z tła tabeli.

Tytuł
01A 01B 01C
2A 2B 2C
3A 3B
4A
{| class="wikitable" style="background:Gold"

Kolorowanie tła – po znaczniku tytułu
Tytuł
01A 01B 01C
2A 2B 2C
|+ style="background:Gold"| Tytuł

Kolorowanie tła – po znaczniku początku wiersza

Działa tylko na komórki zwykłe. Nie działa na komórki nagłówka i brakujące.

01A 01B 01C 01D
02A 2B 02C 2D
3A 3B 3C 3D
4A 4B 4C
5A 5B
6A 6B
7A 7B
<− nagłówka (nie działa)
<− mieszane (wybiórczo)
<− zwykłe
<− scalone
<− puste
<− puste scalone
<− brakujące (nie działa)
|- style="background:Gold"

Kolorowanie tła – po znaczniku komórki

Działa wszędzie, na komórki zwykłe i nagłówka, pojedyncze i scalone.

Jest to jedyna metoda kolorowania tła komórek nagłówka.

01A 01C 01D
02A 02B 02C 02D
3A 3B 3C 3D
4A 4B 4D
!colspan=2 style="background:Gold"| 01A
...
!style="background:Gold"| 02D
...
|style="background:Gold"| 3A
...
|rowspan=2 style="background:Gold"| 3C
!colspan=2 style="background:Gold"| 01A || 01C || 01D
...
! 02A || 02B || 02C ||style="background:Gold"| 02D
...
|style="background:Gold"| 3A || 3B ||rowspan=2 style="background:Gold"| 3C || 3D

W przypadku grupy komórek (niescalonych) trzeba każdą pokolorować oddzielnie:

01A 01B 01C 01D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4B 4C 4D
|style="background:Gold"| 2B
|style="background:Gold"| 2C
...
|style="background:Gold"| 3B
|style="background:Gold"| 3C
| 2A ||style="background:Gold"| 2B ||style="background:Gold"| 2C || 2D
|-
| 3A ||style="background:Gold"| 3B ||style="background:Gold"| 3C || 3D

Kolorowanie tła – kolor Transparent

Warto pamiętać, że kolor tła tabeli nie jest domyślnie ani przezroczysty, ani biały, tylko bardzo jasno szary, który może wydawać się biały, gdy tabela znajdzie się na ciemniejszym tle.

Oprócz całej palety dostępnych kolorów HTML istnieje również jeden kolor specyficzny o nazwie „Transparent”, czyli coś, co niezbyt logicznie można nazwać „kolorem przezroczystym”. Jest to parametr koloru, ponieważ działa nie tylko z poleceniem zbiorczym background, ale właśnie także z poleceniem szczegółowym background-color.

Po znaczniku początku tabeli można nadać tło z wartością koloru „Transparent”. Wtedy wszystkie komórki zwykłe (i tło pod brakującymi) przyjmą kolor, na jakim leży tabela. Niestety komórkom nagłówka kolor „Transparent” trzeba nadawać każdej z osobna:

a)
01A 01B
2A 2B
3A 3B
b)
01A 01B
2A 2B
3A 3B
c)
01A 01B
2A 2B
3A 3B
d)
01A 01B
2A 2B
3A 3B
a) {| class="wikitable"

b) {| class="wikitable" style="background:Transparent"

c) {| class="wikitable"
   !style="background:Transparent"| 01A
   !style="background:Transparent"| 01B

d) {| class="wikitable" style="background:Transparent"
   !style="background:Transparent"| 01A
   !style="background:Transparent"| 01B

W ten sam sposób można pokolorować całą tabelę na nowy wybrany kolor. Komórki nagłówka (każdą oddzielnie) trzeba opatrzyć zamiast tego nowego koloru wartością koloru „Transparent” (przezroczysty), a wtedy przejmą kolor nowego tła tabeli i ujednolicą się z komórkami zwykłymi:

01A 01B
2A 2B
{| class="wikitable" style="background:Gold"
!style="background:Transparent"| 01A
!style="background:Transparent"| 01B
{| class="wikitable" style="background:Gold"
!style="background:Transparent"| 01A ||style="background:Transparent"| 01B

Jest to o tyle wygodne, że można teraz eksperymentować z doborem koloru tła tylko w jednym miejscu kodu – po znaczniku początku tabeli, a zmieniać będzie się wszystko, a więc także tło komórek nagłówka:

01A 01B
2A 2B
01A 01B
2A 2B
01A 01B
2A 2B
01A 01B
2A 2B
{| class="wikitable" style="background:Gold"
{| class="wikitable" style="background:Coral"
{| class="wikitable" style="background:Cyan"
{| class="wikitable" style="background:LightBlue"

Kolorowanie tła o zmiennym nasyceniu (wartości RGBA)

W modelu RGBA ostatnia litera oznacza „kanał alfa”, czyli przezroczystość.

Istnieje wiele modeli koloru z kanałem alfa i sposobów zapisu w HTML, z czego opisany poniżej działa w największej liczbie przeglądarek, w tym nawet dość starych:

0% 7% 14% 21% 28% 35% 42% ... 100%
|style="background:rgba(20%,80%,50%,0.0)"| 0%
|style="background:rgba(20%,80%,50%,0.07)"| 7%
|style="background:rgba(20%,80%,50%,0.14)"| 14%
...
|...
|style="background:rgba(20%,80%,50%,1)"| 100%

Powyżej widać odcienie koloru zielonego, bo tło tabeli jest niemal białe.

A oto, co się stanie, jeśli dodatkowo kolor tła tabeli zmienimy na wartość „Transparent”:

0% 7% 14% 21% 28% 35% 42% ... 100%

...lub na kolor czerwony

0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%

Przykład z kolorem czerwonym pokazuje, że stopień przezroczystości nie sumuje dwóch kolorów, tylko drugi kolor wypiera pierwszy. Jest to trochę mylące, bo wartość „0” oznacza tutaj całkowitą przezroczystość, a „100%” jej brak.

Kolorowanie tekstuEdytuj

Kolorowanie tekstu – po znaczniku początku tabeli

Wpływa na kolor wszystkich tekstów, także tytułu tabeli i komórek nagłówka:

Tytuł
01A 01B 01C
2A 2B 2C
{| class="wikitable" style="color:Chocolate"

Kolorowanie tekstu – po znaczniku tytułu
Tytuł
01A 01B 01C
2A 2B 2C
|+ style="color:Chocolate"| Tytuł

Kolorowanie tekstu – po znaczniku początku wiersza

Działa także na wiersze z komórkami nagłówka:

01A 01B 01C 01D
02A 2B 02C 2D
3A 3B 3C 3D
4A 4B 4C
<− nagłówka
<− mieszane
<− zwykłe
<− scalone
|- style="color:Chocolate"
...
|- style="color:LimeGreen"
...
|- style="color:DodgerBlue"
...
|- style="color:Orange"

Kolorowanie tekstu – po znaczniku komórki

Działa na wszystkie komórki – nagłówka i zwykłe:

01A 01B 01C
2A 2B 2C
!style="color:Chocolate"| 01B
...
|style="color:Chocolate"| 2C
! 01A ||style="color:Chocolate"| 01B || 01C
...
| 2A || 2B ||style="color:Chocolate"| 2C

Kolorowanie tekstu – a może tła?

Jak widać, kolorowanie tekstu nie zawsze jest dobrze widoczne, lepiej wychodzi kolorowanie tła z tekstem czarnym lub białym:

01A 01B 01C 01D   <− nagłówka
02A 02B 02C 02D
3A 3B 3C 3D   <− zwykłe
4A 4B 4C 4D

Przykład pokolorowania tekstu na biało w wybranej komórce tabeli (z nadaniem koloru tła):

1A 1B 1C
| 1A
|style="background:Brown; color:White"| 1B
| 1C
| 1A ||style="background:Brown; color:White"| 1B || 1C

Przykład pokolorowania tekstu na biało w całym wierszu tabeli (z różnymi tłami komórek):

1A 1B 1C
|- style="color:White"
|style="background:Red"| 1A
|style="background:Brown"| 1B
|style="background:Green"| 1C

Kolorowanie obramowania – składniaEdytuj

Polecenia

Kolor obramowania ściśle wiąże się z jeszcze dwoma parametrami: stylem linii i grubością linii.

Kolor zmienia się poleceniem border-color. Ponieważ jednak domyślne linie wikipediowych tabel są bardzo cienkie, zmiana koloru będzie słabo widoczna albo w ogóle nie zadziała. Tak więc trzeba pogrubić obramowanie poleceniem border-width, a to z kolei wymusza użycie polecenia border-style określającego rodzaj linii (np. ciągła, przerywana, kropkowana), gdyż domyślny styl linii jest taki, że go nie widać. 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"

Ponieważ dany element tabeli może mieć tylko jedno polecenie stylu, trzeba zgrupować parametry powyższych poleceń, przedzielając je średnikami, wygodniej jednak użyć polecenia zbiorczego border, które jeszcze bardziej upraszcza składnię, bo podaje się w jednym miejscu wszystkie wartości rozdzielone spacjami, np.:

style="border-style: solid; border-width: 4px; border-color: Red"   <− rozwlekle
style="border: solid 4px Red"                                       <− to samo wygodniej

Powyższe polecenie umieszczone po znaczniku tabeli, wiersza lub komórki da następujący efekt:

Można oczywiście zmieniać tylko wybrane krawędzie, zastępując polecenie „border” poleceniami z nazwami poszczególnych krawędzi:

style="border-top: ...
style="border-right: ...
style="border-bottom: ...
style="border-left: ...

Dla zachowania porządku najlepiej podawać kolejne krawędzie zgodnie ze wskazówkami zegara (tak samo, jak w przypadku marginesów), a więc: góra, prawo, spód, lewo.

Wybrane polecenia grupuje się wewnątrz jednego stylu tak samo, jak pokazano wyżej, np.:

style="border-top: ...; border-right: ..."

Oczywiście nie trzeba podawać wszystkich czterech kierunków, tylko te potrzebne.

Przy podawaniu koloru niezbędne jest (jak wspomniano wyżej) podanie parametru stylu linii (najlepiej linii ciągłej, czyli wartości „solid”), natomiast grubość linii nie jest konieczna, ale wtedy jej grubość wybierze przeglądarka (zazwyczaj ok. 3–4 px), np.:

|style="border: solid Red"| 2A       <− bez parametru grubości
|style="border: solid 4px Red"| 4A   <− podany parametr grubości (zalecane)

...da efekt:

1A 2A 3A 4A 5A

Można teraz porównać efekt domyślnego wyboru grubości w różnych przeglądarkach (w szczególności Firefox vs. Chrome). Wynika z tego, że lepiej podawać parametr grubości linii.

Parametry krawędzi

Grubość krawędzi jest dodawana do wymiarów komórki, a więc powiększa wymiary tabeli. Użycie parametru stylu linii z wartością „hidden” nie ukrywa, tylko likwiduje krawędzie, a więc zmniejsza wymiary tabeli. Krawędzie mają domyślnie niewielką grubość, ale ich brak da się dostrzec nawet w poniższym przykładzie. Użycie parametru koloru „Transparent" zachowuje grubość ramki, choć będzie ona przezroczysta (i odsłoni kolor tła komórek). Poniżej przykład dla linii poziomych:

domyślnie
1A 1B 1C
2A 2B 2C
3A 3B 3C
hidden
1A 1B 1C
2A 2B 2C
3A 3B 3C
solid 6px
black
1A 1B 1C
2A 2B 2C
3A 3B 3C
solid 6px
transparent
1A 1B 1C
2A 2B 2C
3A 3B 3C
a) b) c) d)
a)  |-
b)  |- style="border-top:hidden"
c)  |- style="border-top:solid 6px black"
d)  |- style="border-top:solid 6px transparent"

Zbudowanie wikitabeli całkowicie pozbawionej linii jest niezmiernie trudne. W poniższym przykładzie zlikwidowano większość linii poleceniami po znaczniku początku wiersza |- style="border:hidden".

1A 1B 1C
2A 2B 2C
3A 3B 3C

Usunięcie z powyższego przykładu tła też jest łatwe, ale pionowe linie trzeba skasować oddzielnie po każdym znaczniku komórki. Jest to bez sensu, dlatego lepiej wtedy skorzystać z tabeli niesformatowanej.

Kolorowanie obramowania – pełna ramkaEdytuj

Kolorowanie obramowania – pełna ramka – po znaczniku początku tabeli

Tylko po obwodzie, bez krawędzi wewnętrznych.

Tytuł
01A 01B 01C
2A 2B 2C
3A 3B 3C
{| class="wikitable" style="border: solid 4px Red"

Kolorowanie obramowania – pełna ramka – po znaczniku tytułu
Tytuł
01A 01B 01C
2A 2B 2C
{| class="wikitable"
|+ style="border: solid 4px Red"| Tytuł

Kolorowanie obramowania – pełna ramka – po znaczniku początku wiersza

Działa na wszystkie komórki – nagłówka i zwykłe:

01A 01B 01C
2A 2B 2C
3A 3B 3C
4A 4B 4C
|- style="border: solid 4px Red"
! 01A
! 01B
! 01C
...
|- style="border: solid 4px Red"
| 3A
| 3B
| 3C
|- style="border: solid 4px Red"
! 01A || 01B || 01C
...
|- style="border: solid 4px Red"
| 3A || 3B || 3C

Podgląd:

01A 01B 01C 01D
02A 02B 02C 02D
03A 03B 03C
04A 04B 04C 04D
05A 05B
06A 06B 06C 06D
07A 07B
08A 8B 08C 08D
09A 09B
1A 1B 1C 1D
2A 2B 2C 2D
3A 3B 3C
4A 4B 4C 4D
5A 5B
6A 6B 6C 6D
7A 7B
8A 8B 8C 8D
9A 9B
 
 
<− scalone
 
<− puste
 
<− puste scalone
 
<− brakujące
|- style="border: solid 4px Red"

Uwaga: w niektórych przeglądarkach obramowanie przy komórkach brakujących nie wyświetla się (np. Firefox – tak, Chrome – nie).


Kolorowanie obramowania – pełna ramka – po znaczniku komórki
01A 01B 01C
2A 2B 2C
3A 3B 3C
|-
| 2A
|style="border: solid 4px Red"| 2B
| 2C
|-
| 2A ||style="border: solid 4px Red"| 2B || 2C

Także komórki scalone:

01A 01B 01C 01D
2A 2B 2D
3A 3B 3C 3D
|-
| 2A
|colspan=2 style="border: solid 4px Red"| 2B
| 2D
|-
| 2A ||colspan=2 style="border: solid 4px Red"| 2B || 2D

Uwaga: w przypadku wspólnej ramki dla kilku komórek (niescalonych) należy pokolorować oddzielnie każdą potrzebną krawędź w każdej z wybranych komórek, co zostało opisane w dalszej części poradnika.

Kolorowanie obramowania – wybrane krawędzieEdytuj

Kolorowanie obramowania – wybrane krawędzie – po znaczniku początku tabeli
Tytuł
01A 01B 01C
2A 2B 2C
3A 3B 3C
{| class="wikitable" style="border-left: solid 4px Red"

Kolorowanie obramowania – wybrane krawędzie – po znaczniku tytułu
Tytuł
01A 01B 01C
2A 2B 2C
3A 3B 3C
{| class="wikitable"
|+ style="border-left: solid 4px Red"| Tytuł

Kolorowanie obramowania – wybrane krawędzie – po znaczniku początku wiersza
01A 01B 01C
2A 2B 2C
3A 3B 3C
|- style="border-bottom: solid 4px Red"
! 01A...

Kolorowanie obramowania – wybrane krawędzie – po znaczniku komórki
01A 01B 01C
2A 2B 2C
3A 3B 3C
|style="border-bottom: solid 4px Red"| 2B

Kilka komórek poziomo:

01A 01B 01C 01D
2A 2B 2C 2D
3A 3B 3C 3D
|style="border-bottom: solid 4px Red"| 2B
|style="border-bottom: solid 4px Red"| 2C

Kilka komórek pionowo:

01A 01B 01C
2A 2B 2C
3A 3B 3C
4A 4B 4C
|style="border-left: solid 4px Red"| 2B
...
|style="border-left: solid 4px Red"| 3B

Po znaczniku komórki – kilka krawędzi
01A 01B 01C
2A 2B 2C
3A 3B 3C
|style="border-top: solid 4px Red; border-right: solid 4px Orange; border-left: solid 4px Cyan"| 2B

Po znaczniku komórki – kilka komórek – wspólna ramka

Ramka wokół więcej niż jednej komórki wymaga, aby zdefiniować oddzielnie każdą krawędź w każdej z komórek:

01A 01B 01C 01D 01E
2A 2B 2C 2D 2E
3A 3B 3C 3D 3E
! 01A
!style="border-top: solid 4px Red; border-bottom: solid 4px Red; border-left: solid 4px Red"| 01B
!style="border-top: solid 4px Red; border-bottom: solid 4px Red"| 01C
!style="border-top: solid 4px Red; border-right: solid 4px Red; border-bottom: solid 4px Red"| 01D
! 01E
01A 01B 01C
2A 2B 2C
3A 3B 3C
4A 4B 4C
5A 5B 5C
|style="border-top: solid 4px Red; border-right: solid 4px Red; border-left: solid 4px Red"| 2B
...
|style="border-left: solid 4px Red; border-right: solid 4px Red"| 3B
...
|style="border-right: solid 4px Red; border-bottom: solid 4px Red; border-left: solid 4px Red"| 4B
01A 01B 01C 01D
2A 2B 2C 2D
3A 3B 3C 3D
4A 4B 4C 4D
|style="border-top: solid 4px Red; border-left: solid 4px Red"| 2B
|style="border-top: solid 4px Red; border-right: solid 4px Red"| 2C
...
|style="border-bottom: solid 4px Red; border-left: solid 4px Red"| 3B
|style="border-bottom: solid 4px Red; border-right: solid 4px Red"| 3C

Problem z krawędziami komórek scalonychEdytuj

Istnieje różnica pomiędzy przeglądarką Firefox, która wyświetla krawędzie zawsze dokładnie, a przeglądarkami opartymi na silniku WebKit/Chromium i podobnych (np. Chrome, Opera, Safari). W tych drugich często modyfikacja wybranej krawędzi komórki pojedynczej rozciąga się na całą długość krawędzi w stykającej się z nią komórce scalonej. Dzieje się to w połowie podanych poniżej przykładów, a nawet tam, gdzie krawędź nie została rozciągnięta, wyświetlanie krawędzi jest niedoskonałe. Poniższy problem nie dotyczy jednak krawędzi ukrytych („hidden”). Wyjątkowo w tym przypadku wszystkie przeglądarki działają poprawnie.

W poniższych przykładach strzałka pokazuje zmodyfikowaną krawędź pojedynczej komórki. Warto obejrzeć ten przykład w różnych przeglądarkach. Tylko ostatni przykład z prawej jest wyświetlany zawsze dobrze.

1A ←1B
2B
1A 1B
←2B
1A→ 1B
2A
1A 1B
2A→
1A
↑2A 2B
1A
2A ↑2B
↓1A 1B
2A
1A ↓1B
2A

Kolorowanie obramowania – paskiEdytuj

Paski poziome

Zamiast pokolorowanych poziomych krawędzi komórek można zrobić wąskie paski z komórek scalonych. Mają one własną estetykę, bowiem składają się z obrysu i tła. Poziomy rząd pustych scalonych komórek, a de facto jedna, rozciągnięta pusta komórka, ma bardzo małą wysokość, bo składającą się tylko z domyślnego paddingu, który wynosi w pionie 0.2em.

Tło komórek scalonych można pokolorować na 3 sposoby:

  • dla komórek scalonych nagłówka – tylko po znaczniku komórki,
  • dla komórek scalonych zwykłych – po znaczniku początku wiersza lub po znaczniku komórki,

...dlatego poniżej podano 3 przykłady.

Paskami są w tabeli wiersze nr 2, 5 i 7 – stąd taka z pozoru nietypowa numeracja komórek w poniższych przykładach.

01A 01B 01C 01D
03A 03B 03C 03D
4A 4B 4C 4D
6A 6B 6C 6D
8A 8B 8C 8D
!colspan=4 style="background:Gold"|
...
|- style="background:Gold"
|colspan=4|
...
|colspan=4 style="background:Gold"|

Paski pionowe

W podobny sposób (polecenie „rowspan” zamiast „colspan”) można zrobić pasek pionowy. Będzie on jednak szerszy, bo pusta komórka ma poziomy padding aż 0.4em:

01A 01C 01D
02A 02C 02D
3A 3C 3D
4A 4C 4D
! 01A ||rowspan=4| || 01C || 01D
|-
! 02A || 02C || 02D
|-
| 3A || 3C || 3D
|-
| 4A || 4C || 4D

W powyższym przykładzie pionowy pasek komórek scalonych jest szary, bo pierwsza scalona komórka jest komórką nagłówka. Aby pasek był biały, pierwsza ze scalonych komórek musi być zwykła, czyli poprzedzona pałką zamiast wykrzyknika i rozpoczęta w nowej linijce kodu:

01A 01C 01D
02A 02C 02D
3A 3C 3D
4A 4C 4D
! 01A
|rowspan=4|
! 01C || 01D
|-
! 02A || 02C || 02D
|-
| 3A || 3C || 3D
|-
| 4A || 4C || 4D

Nadając górnej i dolnej krawędzi tego pionowego paska wartość „hidden”, możemy zasymulować rozsunięcie kolumn. Aby było to widoczne, całość pokazano na białym tle:

01A 01C 01D
02A 02C 02D
3A 3C 3D
4A 4C 4D
! 01A
|rowspan=4 style="border-top:hidden; border-bottom:hidden"|
! 01C || 01D

Chyba że wszystkie komórki pierwszego wiersza będą zwykłe, wtedy można dać wszystko w jednej linijce kodu, np.:

| 1A ||rowspan=4 style="border-top:hidden; border-bottom:hidden"| || 1C || 1D

...albo oczywiście w oddzielnych linijkach kodu, jak kto woli.


Paski zwężone

Komórki scalone w pionie możemy też wykorzystać jako symulację pionowej krawędzi, jeśli ten pasek zwęzimy. Szerokości komórki nie zmniejszymy (polecenie „width” działa tylko w górę), ale możemy zmniejszyć domyślny padding poziomy, który wynosi „0.4em”. Poniżej zmniejszono padding poziomy, ustawiając padding na „2px”. Nie trzeba stosować poleceń „padding-left” i „padding-right”. Wystarczy ogólnie „padding” (działający we wszystkich 4 kierunkach), bo góra i dół nas tu nie interesują, gdyż w sąsiednich komórkach pozostaną domyślnie wyższe.

Jest to wygodniejsze rozwiązanie, niż nadawanie każdej potrzebnej komórce w każdym wierszu koloru wybranej krawędzi pionowej. Poniżej przykład takiego zwężonego paska komórek scalonych z nadanym czerwonym tłem. Komórka 01B, której numeru nie widać, to komórki scalone:

01A 01C 01D
02A 02C 02D
3A 3C 3D
4A 4C 4D
! 01A
!rowspan=4 style="padding:2px; background:Red"|
! 01C || 01D

Podobnie robi się paski zwężone w poziomie („colspan” zamiast „rowspan”). Tu jednak zastosowana wartość paddingu jest tylko niewiele mniejsza od domyślnej:

01A 01B 01C
03A 03B 03C
4A 4B 4C
6A 6B 6C
8A 8B 8C
!colspan=3 style="padding:2px; background:Red"|
...
|- style="background:Red"
|colspan=3 style="padding:2px"|
...
|colspan=3 style="padding:2px; background:Red"|

Porównanie domyślnych szerokości pustych pasków komórek scalonych i ich korekty do paddingu 2px, czyli szerokości 4px:

1A 1B 1C
3A 3B 3C
5A 5B 5C
01A 01B 01C
03A 03B 03C
05A 05B 05C
1A 1C 1E
2A 2C 2E
3A 3C 3E
01A 01C 01E
02A 02C 02E
03A 03C 03E

Kolorowanie w tabelach niesformatowanychEdytuj

Tekst na tle

Tekst na kolorowym tle można zrobić w postaci tabeli niesformatowanej z tylko jedną komórką. Poniżej przykład domyślny (z zerowym paddingiem) oraz z wartościami paddingu z wikitabeli.

Tekst

Tekst
{| style="background:LightBlue"
| Tekst
|}

{| style="background:LightBlue"
|style="padding:0.2em 0.4em"| Tekst
|}

W przypadku wielu komórek zamiast polecenia „padding” wygodniej jest użyć polecenia „border-spacing”, bo użyjemy go tylko raz dla całej tabeli („paddingu” się nie da). Poniżej wybrano wartości odpowiadające paddingowi wikitabeli.

Dodano również polecenie „margin” dla domyślnego odstępu pionowego przed i po tabeli, jaki jest w wikitabeli. W przykładzie wyżej widać, że tabela jest zbyt blisko poprzedniego akapitu.

Pozostaje jednak problem wyrównywania w pionie. W poniższym przykładzie działa domyślne wyrównywanie, które jest w połowie wysokości komórki:

Tekst
akapitu
Tekst
Tekst Tekst
akapitu
{| style="margin:1em 0; border-spacing:8px 4px; background:LightBlue"
| Tekst<br />akapitu || Tekst
|-
| Tekst || Tekst<br />akapitu<br />dłuższy
|}

Poniżej wszystko już OK. Odstępy zewnętrzne jak w wikitabeli, wyrównywanie do góry (bo najczęściej tak pasuje), a odstępy wewnętrzne („border-spacing”) powiększono eksperymentalnie tak, by pasowały do aktualnie prezentowanej treści.

Tekst
akapitu
Tekst
akapitu
dłuższy
Tekst
akapitu
Tekst
akapitu
jeszcze
dłuższy
{| style="margin:1em 0; border-spacing:24px 12px; background:LightBlue"
|- valign="top"
| Tekst<br />akapitu || Tekst<br />akapitu<br />dłuższy
|- valign="top"
| Tekst<br />akapitu || Tekst<br />akapitu<br />jeszcze<br />dłuższy
|}

Symulacja pionowej linii akapitowej

Do wyróżnienia fragmentu tekstu, np. do wskazania definicji, cytatu lub dowolnego innego opisu czegoś konkretnego, można wykorzystać tabelę niesformatowaną, czyli bez klasy „wikitable”, a tylko z gołym znacznikiem „{|”, w której będzie tylko jedna komórka, za to z pokolorowaną krawędzią boczną i odpowiednio powiększonym odstępem za pomocą polecenia „padding”:

Tu tekst dowolnej
długości, nawet kilka
akapitów z ilustracjami
i tabelami.
{|
|style="padding-left:1em; border-left: solid .5em Red"| Tu tekst...
|}

Właściwości tekstuEdytuj

Teksty w tabeli można modyfikować tak samo jak zwykły tekst poza tabelą. Dodatkowo w tabelach można modyfikować jednym poleceniem wszystkie komórki w wierszu:

{| class="wikitable"
|- style="font-style:italic"
| kursywa
| we wszystkich trzech
| komórkach tego wiersza
|- style="font-weight:bold"
| pogrubienie
| we wszystkich trzech
| komórkach tego wiersza
|- style="color:Green"
| zielony
| we wszystkich trzech
| komórkach tego wiersza
|- style="font-size:125%"
| powiększenie 125%
| we wszystkich trzech
| komórkach tego wiersza
|- style="font-size:75%"
| zmniejszenie 75%
| we wszystkich trzech
| komórkach tego wiersza
|}

...co daje:

kursywa we wszystkich trzech komórkach tego wiersza
pogrubienie we wszystkich trzech komórkach tego wiersza
zielony we wszystkich trzech komórkach tego wiersza
powiększenie 125% we wszystkich trzech komórkach tego wiersza
zmniejszenie 75% we wszystkich trzech komórkach tego wiersza

Atrybuty można podawać w jednym stylu, przedzielając je średnikiem:

{| class="wikitable"
|- style="font-weight:bold; font-style:italic"
| pogrubienie + kursywa
| we wszystkich trzech
| komórkach tego wiersza
|- style="font-weight:bold; font-style:italic; color:Green"
| pogrubienie + kursywa + zielony
| we wszystkich trzech
| komórkach tego wiersza
|}

...co daje:

pogrubienie + kursywa we wszystkich trzech komórkach tego wiersza
pogrubienie + kursywa + zielony we wszystkich trzech komórkach tego wiersza

Niezależnie od ostylowania całego wiersza tabeli można dodawać (1), a nawet zmieniać (2) atrybuty w poszczególnych komórkach:

{| class="wikitable"
|- style="color:Green"
| 1.
| zielony
|style="font-weight:bold"| dodatkowo pogrubienie
| zielony
|- style="color:Green"
| 2.
| zielony
|style="color:Red"| zmiana na czerwony
| zielony
|}

...co daje:

1. zielony dodatkowo pogrubienie zielony
2. zielony zmiana na czerwony zielony


Osadzanie tabelEdytuj

poniższy kod:

{| class="wikitable"
| komórka 1
|
{| class="wikitable" style="background:LightBlue"
| tabela
|-
| osadzona
|}
| komórka 3
|}

...dodaje tabelę osadzoną w drugiej komórce tabeli zewnętrznej

komórka 1
tabela
osadzona
komórka 3

Uwaga: kod tabeli osadzonej musi zaczynać się od nowego wiersza.

Kilka tabel obok siebieEdytuj

Metoda osadzaniaEdytuj

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:

początek tabeli nadrzędnej:   {|
      komórka dla tabeli 1:   |
         początek tabeli 1:   {| class="wikitable"
                              ...
           koniec tabeli 1:   |}
        komórka z odstępem:   | &nbsp;
      komórka dla tabeli 2:   |
         początek tabeli 2:   {| class="wikitable"
                              ...
           koniec tabeli 2:   |}
  koniec tabeli nadrzędnej:   |}

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 wstawienie w tabeli nadrzędnej znacznika początku wiersza po to, by umieścić w nim polecenie wyrównywania komórek (z osadzonymi tabelami) do góry:

początek tabeli nadrzędnej:   {|
                              |- style="vertical-align: top"|
      komórka dla tabeli 1:   |
         początek tabeli 1:   {| class="wikitable"
                              ...
           koniec tabeli 1:   |}
        komórka z odstępem:   | &nbsp;
      komórka dla tabeli 2:   |
         początek tabeli 2:   {| class="wikitable"
                              ...
           koniec tabeli 2:   |}
  koniec tabeli nadrzędnej:   |}
inna
wysokość
inna
wysokość
 
inna
wysokość
inna wysokość
 
inna wysokość
inna
wysokość
 
inna wysokość
inna wysokość

Metoda osadzania 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 kolumnyEdytuj

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.:

{| class="wikitable"
! Nagłówek A
! Nagłówek B
!rowspan=3 style="border-top-color: White; border-bottom-color: White; background: White"| Trzecia<br />kolu-<br />mna
! Nagłówek D
! Nagłówek E
|-
| Komórka 1A
| Komórka 1B
| Komórka 1D
| Komórka 1E
|-
| Komórka 2A
| Komórka 2B
| Komórka 2D
| Komórka 2E
|}

...co daje:

Nagłówek A Nagłówek B Trzecia
kolu-
mna
Nagłówek D Nagłówek E
Komórka 1A Komórka 1B Komórka 1D Komórka 1E
Komórka 2A Komórka 2B Komórka 2D Komórka 2E

Identyczny efekt można uzyskać nieco innymi poleceniami, umieszczając jedną część w pierwszej linii kodu tabeli, a drugą przy wybranej kolumnie (takie rozwiązanie jest wygodniejsze przy wielu białych kolumnach):

{| class="wikitable" style="border: none"
! Nagłówek A
! Nagłówek B
!rowspan=3 style="border: none; background: White"| Trzecia<br />kolu-<br />mna
! Nagłówek D
! Nagłówek E
|-
| Komórka 1A
| Komórka 1B
| Komórka 1D
| Komórka 1E
|-
| Komórka 2A
| Komórka 2B
| Komórka 2D
| Komórka 2E
|}

...co również daje:

Nagłówek A Nagłówek B Trzecia
kolu-
mna
Nagłówek D Nagłówek E
Komórka 1A Komórka 1B Komórka 1D Komórka 1E
Komórka 2A Komórka 2B Komórka 2D Komórka 2E

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ą niby-dzielonej tabeli (z białą kolumną) jest identyczna wysokość wszystkich komórek w wierszu (de facto jest to wciąż jedna tabela), np.:

Jedna wspólna tabela
niby-dzielona
Dwie tabele obok siebie
w komórkach tabeli nadrzędnej
bardzo dużo
treści w tej 
komórce
biała
kolu-
mna
mało treści
bardzo dużo
treści w tej 
komórce
mało treści
bardzo dużo
treści w tej 
komórce
mało treści
bardzo dużo
treści w tej 
komórce
bardzo dużo
treści w tej 
komórce
bardzo dużo
treści w tej 
komórce
mało treści
mało treści
mało treści

Kilka tabel z wyrównanymi kolumnamiEdytuj

Poniżej dwa zestawy, w każdym te same 3 niezależne tabele. Każdy zestaw wydzielony w przerywanej ramce tylko dla przykładu, chodzi o wnętrze obu ramek. W drugim zestawie dołożono polecenia width o takich samych wartościach dla każdej z 3 tabel po to, by miały taką samą szerokość.

Kilka tabel 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
     
 


Kilka tabel z wyrównanymi kolumnami o 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 kilku tabel z kolumnami o dynamicznej szerokości
{|
|- style="background: #DDD"
! Numer !! Tytuł !! Autor !! Czas
|-
| 1. || „[[We Got the Party|We Got The Party]]” || Greg Wells, Kara DioGuardi || 3:37
|}

{|
|- style="background: #DDD"
! Numer !! Tytuł
|-
| 1. || „Life's What You Make It” <small>(live)</small>
|}

{|
|- style="background: #DDD"
! Numer !! Tytuł !! Autor !! Czas
|-
| 1. || „[[See You Again (singel Miley Cyrus)|See You Again]]” || Miley Cyrus, Armato, James || 3:10
|}
Kod kilku tabel z wyrównanymi kolumnami stałej szerokości
{|
|- style="background: #DDD"
!width=30| Numer
!width=180| Tytuł
!width=250| Autor
!width=35| Czas
|-
| 1. || „[[We Got the Party|We Got The Party]]” || Greg Wells, Kara DioGuardi || 3:37
|}

{|
|- style="background: #DDD"
!width=30| Numer
!width=180| Tytuł
|-
| 1. || „Life's What You Make It” <small>(live)</small>
|}

{|
|- style="background: #DDD"
!width=30| Numer
!width=180| Tytuł
!width=250| Autor
!width=35| Czas
|-
| 1. || „[[See You Again (singel Miley Cyrus)|See You Again]]” || Miley Cyrus, Armato, James || 3:10
|}

Sortowanie danych w tabelachEdytuj

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.

{| class="wikitable sortable" style="text-align:right"
!style="width:100px"| Kolumna główna
!style="width:80px"| Sortowanie alfabetyczne
!style="width:80px"| Sortowanie wg liczb
!style="width:80px"| 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
| ?
|}

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. Możliwe jest sortowanie po dwóch (klikając na drugiej kol. z wciśniętym klawiszem shift) i więcej kolumnach (sortując je w odwrotnej, od zamierzonej, kolejności - en:Help:Sorting#Secondary_key).
Uwaga: „klepsydry” pojawią się tylko wtedy, gdy wszystkie komórki w wierszu będą komórkami nagłówka.

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  T 245
Rok 2005  N 127
Rok 2003 nie sortujemy 21

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

{| class="wikitable sortable" style="text-align:right"
!width=100| Kolumna główna
!width=80 class="unsortable"| Nie sortujemy
!width=80| Sortowanie liczb
...

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  T 245
Rok 2005  N 127
Rok 2003 nie sortujemy 21
Podsumowanie Sortowanie tabel nie jest trudne 45

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

|-
! Rok 2003
| nie sortujemy
| 21
|- class="sortbottom"
! Podsumowanie
| Sortowanie tabel nie jest trudne
| 45
|}

Dla górnych wierszy jest to class="sorttop".

Górne i dolne wiersze można też zablokować przed sortowaniem oznaczając w nich wszystkie pola jako nagłówki (stopki) używając !. Przy blokowaniu w ten sposób górnych wierszy, wiersz sortowania (strzałki sortowania) przenoszone są w dół.

Sortowanie liczbEdytuj

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 {{sortkey}}. 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 {{sortkey}}, 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 tabelachEdytuj

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 {{dts}}, który pozwala prawidłowo sortować daty w tabelach. Przykładowo następujący wiki-kod:

{| class="wikitable sortable" style="text-align:right"
! Kolumna główna
! Sortowanie dat<br/>(szablon dts)
! Sortowanie dat<br/>(rrrr-mm-dd)
! Sortowanie liczb
|-
! Pozycja 1
| {{dts|01|01|1999}}
| 1999-01-01
| 245
|-
! Pozycja 2
| {{dts|03|07|1995}}
| 1995-07-03
| 127
|-
! Pozycja 3
| {{dts|07|03|1997}}
| 1997-03-07
| 21
|}

...buduje 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-01T00:00:00.001 1 stycznia 1999(dts) 1999-01-01 245
Pozycja 2 1995-07-03 3 lipca 1995(dts) 1995-07-03 127
Pozycja 3 1997-03-07 7 marca 1997(dts) 1997-03-07 21

Sortowanie nazwisk w tabelachEdytuj

Zobacz też: Szablon:Sortname.

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

{| class="wikitable sortable"
! Imię i nazwisko
! Dziedzina
! Rok
|-
| {{sortname|Greg|Walden}}
| polityk
| 1991
|-
| {{sortname|Wes|Cooley}}
| działacz
| 1996
|-
| {{sortname|Dennis|Smith|Denny Smith}}
| aktywista
| 1994
|-
| {{sortname|Pete|Sampras|nolink=tak}}
| sportowiec
| 1993
|}

...buduje 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
Smith, DennisDennis Smith aktywista 1994
Sampras, PetePete Sampras sportowiec 1993

Sortowanie tabel zawierających grafikiEdytuj

Szablon {{sortkey}} 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 kolumnieEdytuj

Do automatycznego numerowania w pierwszej kolumnie, np. liczby porządkowej, można wykorzystać szablon {{Numerowanie w tabeli}}:

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

Uwaga: znak kratki musi być z lewej bez spacji.

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

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

Szablony do użycia w tabelachEdytuj

Wszystkie szablony do zastosowania w tabelach można znaleźć w odpowiedniej 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
{{tak}} oraz {{nie}} – wstawiające grafikę

{{tabela-tak}} oraz {{tabela-nie}} lub {{tabela-tak|jakiś tekst}} oraz {{tabela-nie|jakiś przeczący tekst}} – dodające styl komórki

{| class="wikitable" width=50%
|-
| {{tak}} za
| {{nie}} przeciw
|-
| {{tabela-tak}}
| {{tabela-nie}}
|-
| {{tabela-tak|Raczej tak}}
| {{tabela-nie|Prawdopodobnie nie}}
|}
 T za  N przeciw
Tak Nie
Raczej tak Prawdopodobnie nie
{{L|200}}

Formatowanie, wyrównywanie i poprawne sortowanie liczb w tabelach

Wartość 200

Zwijanie/rozwijanie tabeliEdytuj

Tabele można zdefiniować jako zwijalne (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).

Należy pamiętać, że w przypadku gdy tabela ma więcej niż jedną kolumnę, wiersz nagłówkowy powinien być rozciągnięty na daną liczbę kolumn, czyli jeśli tabela ma 3 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,
  • 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"


Zestawienie przydatnych poleceńEdytuj

Poniżej polecenia, które działają z tabelami wikipediowymi (klasa "wikitable" i pokrewne) oraz porównanie działania tych poleceń z tabelami niesformatowanymi. Podano jednostki jedyne lub najczęściej stosowane oraz najbardziej praktyczne.

Nazwa Polecenie Po jakim znaczniku[i] Wartość Uwagi   Po jakim znaczniku[i] Różnica do wikitabeli
{| |+ |- ! | {| |+ |- ! |
Ogólne (wikitabela) Ogólne (tabela niesformatowana)
Kolor tła style="background: wartość" Ta
(zw)
Ty Wi
(zw)
Na Zw nazwa koloru dostępna z listy,
# + 3 lub 6 cyfr 0-F,
transparent
Ta – tylko kom. zwykłe i tło pod brakującymi
Wi – tylko komórki zwykłe
Ta Ty Wi Na Zw Ta – wszystkie komórki i tło pod brakującymi
Wi – wszystkie komórki
Na – tak
bgcolor="wartość" Wi
(zw)
Zw Ta Wi Na Zw
Szerokość style="width: wartość" Ta Na Zw liczba + [%, px] dla tabeli 100% = szerokość okna przeglądarki
dla komórek 100% = szerokość tabeli
Ty – zachowanie nieprzewidywalne
Ta Ty Na Zw
width="wartość" Ta Na Zw tylko liczba (wartość równa px),
liczba + [%];
dokładanie px lub innej jednostki nic nie zmienia
Ta Na Zw
Wysokość style="height: wartość" Ta Ty Wi Na Zw liczba + [em, px] tylko powiększanie Ta Ty Wi Na Zw
height="wartość" Na Zw tylko liczba (wartość równa px);
dokładanie px lub innej jednostki nic nie zmienia,
dokładanie % wyłącza działanie
Na Zw
Margines
zewnętrzny
style="margin: wartość"

style="margin-top: wartość"
style="margin-right: wartość"
style="margin-bottom: wartość"
style="margin-left: wartość"

Ta Ty liczba + [em, ex, px],
auto
także wartości ujemne;
dla ‘margin’ wartość 1/2/3/4 razy;
wartość ‘auto’ (w osi) tylko dla ‘margin’,
‘margin-left’ i ‘margin-right’
Ta Ty
Tabela w linii style="float: wartość" Ta left, right tabela w jednej linii z inną tabelą lub tekstem Ta
Komórki (wikitabela) Komórki (tabela niesformatowana)
Scalanie
w poziomie
colspan="wartość" Na Zw tylko liczba Na Zw
Scalanie
w pionie
rowspan="wartość" Na Zw tylko liczba Na Zw
Margines
wewnętrzny
style="padding: wartość"

style="padding-top: wartość"
style="padding-right: wartość"
style="padding-bottom: wartość"
style="padding-left: wartość"

Ta Ty Na Zw liczba + [em, ex, px] dla pierwszego polecenia:
wartość 1/2/3/4 razy
Ta – domyślnie nie działa
(trzeba podać „border-collapse:separate”)
Ta Ty Na Zw Ta – działa tylko przy domyślnym „separate”
Margines
wewnętrzny
globalnie
cellpadding: "wartość" tylko liczba (wartość równa px);
dokładanie % lub dowolnej jednostki nic nie zmienia
w wikitabeli nie działa Ta działa tylko w tabeli niesformatowanej,
na wszystkie komórki
i niezależnie od „border-collapse”
Rozsuwanie
komórek
(włączanie)
style="border-collapse: wartość" Ta collapse (wspólne krawędzie),
separate (włącza możliwość rozsuwania)
w wikitabeli domyślnie „collapse”,
nie działa wtedy szereg poleceń
związanych z „separate”
Ta domyślnie „separate” – tylko wtedy działają
„border-spacing”, „cellspacing”
i „empty-cells”
Rozsuwanie
komórek
(wielkość)
cellspacing: "wartość" Ta tylko liczba (wartość równa px);
dokładanie % lub dowolnej jednostki nic nie zmienia
tylko z „border-collapse:separate”
(trzeba przełączyć z „collapse”);
wartość 0 daje wspólną ramkę, ale brzydszą,
bo grubszą niż włączone „collapse”
Ta tylko z „border-collapse:separate”
(tutaj domyślnie)
style="border-spacing: wartość" Ta liczba + [em, ex, px];
jedna wartość (4 kierunki) lub dwie (pion, poziom)
Ta
Ukrywanie
pustych
komórek
style="empty-cells: wartość" Ta hide tylko z „border-collapse:separate”
(trzeba przełączyć z „collapse”)
Ta tylko z „border-collapse:separate”
(tutaj domyślnie)
Nadawanie
obramowania
border="wartość" 0 – brak kresek (domyślnie)
1 – typowe kreski
w wikitabeli nie działa Ta >1 – rośnie tylko obrys tabeli, ale lepiej użyć
polecenia stylu
rules="wartość" all, cols, rows w wikitabeli nie działa Ta tylko kreski wewnątrz, bez obrysu tabeli
Parametry obramowania (wikitabela) Parametry obramowania (tabela niesformatowana)
Styl
obramowania
style="border-style: wartość"

style="border-top-style: wartość"
style="border-right-style: wartość"
style="border-bottom-style: wartość"
style="border-left-style: wartość"

Ta Ty Wi Na Zw dashed, dotted, hidden, solid Ta Na Zw – podać border-width;
dla pierwszego polecenia:
wartość 1/2/3/4 razy
Ta Ty Wi Na Zw
Grubość
obramowania
style="border-width: wartość"

style="border-top-width: wartość"
style="border-right-width: wartość"
style="border-bottom-width: wartość"
style="border-left-width: wartość"

Ta Ty Wi Na Zw liczba + [px] Ty Wi – podać border-style;
dla pierwszego polecenia:
wartość 1/2/3/4 razy
Ta Ty Wi Na Zw
Kolor
obramowania
style="border-color: wartość"

style="border-top-color: wartość"
style="border-right-color: wartość"
style="border-bottom-color: wartość"
style="border-left-color: wartość"

Ta Ty Wi Na Zw nazwa koloru dostępna z listy,
# + 3 lub 6 cyfr 0-F,
transparent
dla pierwszego polecenia:
wartość 1/2/3/4 razy
Ta Ty Wi Na Zw
Obramowanie
zbiorczo:
styl, grubość, kolor
style="border: wartość 1, 2, 3"

style="border-top: wartość 1, 2, 3"
style="border-right: wartość 1, 2, 3"
style="border-bottom: wartość 1, 2, 3"
style="border-left: wartość 1, 2, 3"

Ta Ty Wi Na Zw

wartość 1: dashed, dotted, hidden, solid
wartość 2: liczba + [px]
wartość 3: nazwa koloru dostępna z listy,
# + 3 lub 6 cyfr 0-F,
transparent

można podać 1, 2 lub 3 parametry Ta Ty Wi Na Zw
Tekst (wikitabela) Tekst (tabela niesformatowana)
Wielkość znaków style="font-size: wartość" Ta Ty Wi Na Zw liczba + [em, px, %] Ta Ty Wi Na Zw
Wysokość linii style="line-height: wartość" Ta Ty Wi Na Zw tylko liczba (wartość równa em),
liczba + [em, px, %]
Ta Ty Wi Na Zw
Styl znaków style="font-style: wartość" Ta Ty Wi Na Zw italic, normal normal przywraca zmianę nadrzędną Ta Ty Wi Na Zw
Ciężar znaków style="font-weight: wartość" Ta Ty Wi Na Zw bold, normal normal przywraca zmianę nadrzędną Ta Ty Wi Na Zw
Kolor znaków style="color: wartość" Ta Ty Wi Na Zw nazwa koloru dostępna z listy,
# + 3 lub 6 cyfr 0-F
Ta Ty Wi Na Zw
Wyrównywanie
w poziomie
style="text-align: wartość" Ta
(zw)
Ty Wi
(zw)
Na Zw left, center, right Ta Wi – tylko komórki zwykłe
tabele osadzone – nie
Ta Ty Wi Na Zw Ta Wi – wszystkie komórki
align="wartość" Ty Wi
(zw)
Zw Ta – dla tekstu użyć polecenia stylu
Ty – są problemy, użyć polecenia stylu
Wi – tylko komórki zwykłe
tabele osadzone – tak
Ty Wi Na Zw Wi – wszystkie komórki
Na – tak
Wyrównywanie
w pionie
style="vertical-align: wartość" Wi Na Zw top, middle, bottom tabele osadzone – tak Wi Na Zw
valign="wartość" Wi Na Zw Wi Na Zw
Blokada
przełamywania
style="white-space: wartość" Ta Ty Wi Na Zw nowrap dla kolumny powinno być w najszerszej komórce Ta Ty Wi Na Zw
  1. a b Znaczenie skrótów: Ta – tabela, Ty – tytuł, Wi – wiersz, Na – komórka nagłówka, Zw – komórka zwykła, (zw) – tylko komórka zwykła.

Zobacz teżEdytuj