Za pomocą właściwości CSS przedstawionych w tym samouczku można tworzyć listy. Dane odnoszą się do elementów HTML ul i ol. Możecie dostosować uporządkowane i nieuporządkowane listy według własnych życzeń.
Ogólne informacje na temat listy
Dla list-style
jest to skrócona wersja trzech następujących właściwości:
• list-style-type
• list-style-position
• list-style-image
Za pomocą list-style
można kontrolować sposób wyświetlania graficznego punktorów przed elementami listy i ich wcięcie. Wymienione dane są oddzielane przecinkiem. Kolejność nie ma znaczenia. Dodatkowo nie wszystkim właściwościom musi być przypisana wartość.
Przykład:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PSD-Tutorials.de</title> <style> ul { list-style:square; } </style> </head> <body> <ul> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </body> </html>
W przeglądarce będzie to wyglądać następująco:
Graficzne punktory
Możecie określić własny obrazek jako punktor. Do tego celu używana jest właściwość list-style-image
. Dostępne są następujące wartości:
• url
– nazwa pliku i ewentualna ścieżka do obrazka
• none
– brak wyświetlanego obrazka.
Przykład:
ul { list-style-image: url(bullet.gif); }
Upewnijcie się, że ścieżka do obrazka podana przy URL jest poprawna.
W przypadku podania błędnej ścieżki, przeglądarki powinny użyć standardowego punktoru.
Pozycja punktorów
Za pomocą list-style-position
określa się, jak numeracje lub punktory mają zachować się względem wcięcia.
• inside
– pierwszy wiersz jest wciągnięty tak daleko, że punktory i element listy kończą się w lewym marginesie.
• outside
– punktor znajduje się po lewej stronie elementu listy.
W poniższym przykładzie użyto obu wartości inside
i outside
.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PSD-Tutorials.de</title> <style> ul.a { list-style-position:inside; } ul.b { list-style-position:outside; } </style> </head> <body> <p>Lista wewnątrz:</p> <ul class="a"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> <p>Lista na zewnątrz:</p> <ul class="b"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> </body> </html>
Dzięki temu można od razu zobaczyć, jakie różnice wprowadzają te dwie wartości.
Określanie wyglądu punktorów
Można ustawić wygląd punktorów dla list punktowanych lub numerowanych. Do tego celu służy właściwość list-style-type
. Dozwolone wartości w tej właściwości to:
• decimal
– dla list ol
: Numeracja 1, 2, 3 itp.
• lower-roman
– dla list ol
: Numeracja i., ii., iii. itp.
• upper-roman
– dla list ol
: Numeracja I., II., III., IV. itp.
• lower-alpha
lub lower-latin
– dla list ol-
: Numeracja I., II., III., IV. itp.
• upper-alpha
lub upper-latin
– dla list ol
: Numeracja A., B., C., D. itp.
• disc
– dla list ul
: wypełniony okrąg jako punktor
• circle
– dla list ul
: pusty okrąg jako punktor
• square
– dla list ul
: prostokąt jako punktor
• none
– ani punktorów ani numeracji
• lower-greek
– dla list ol
: numeracja greckimi literami
• hebrew
– dla list ol
: numeracja hebrajskimi literami
• decimal-leading-zero
– dla list ol
: numeracja z wiodącym zerem 0: 01., 02., 03., 04. itp.
• cjk-ideographic
– dla list ol
: numeracja z ideogramami
• hiragana
– dla list ol
: japońska numeracja (małymi literami)
• katakana
– dla list ol
: japońska numeracja (wielkimi literami)
• hiragana-iroha
– dla list ol
: japońska numeracja (małymi literami)
• katakana-iroha
– dla list ol
: japońska numeracja (wielkimi literami)
W poniższym przykładzie użyte są niektóre z wymienionych wariantów.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PSD-Tutorials.de</title> <style> ul.a { list-style-type:circle; } ul.b { list-style-type:square; } ol.c { list-style-type:upper-roman; } ol.d { list-style-type:lower-alpha; } </style> </head> <body> <ul class="a"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> <ul class="b"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ul> <ol class="c"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ol> <ol class="d"> <li>HTML</li> <li>CSS</li> <li>JavaScript</li> </ol> </body> </html>
W przeglądarce ukazuje się następujący obraz:
Licznik
Za pomocą list ol
można numerować treści. Jednak w przypadku bardziej złożonych aplikacji ten sposób numerowania może być mało praktyczny. CSS oferuje alternatywę w postaci liczników.
Poniżej pokażę Wam, jak korzystać z liczników.
Najpierw tworzę nowy licznik dla elementu body
.
body { counter-reset: kapitel; }
Dzięki tej definicji licznik kapitel jest dostępny w dokumencie. Teraz można go wykorzystać.
h1 { counter-increment: kapitel; }
W wyświetlanym składniowo przykładzie licznik zostaje zwiększony automatycznie o wartość 1, gdy pojawi się nowy element h1
. Problemem jest jednak to, że na razie nie widać tej numeracji. Można to łatwo zmienić, wykorzystując pseudoelementy.
h1::before { content: counter(kapitel) ". "; }
Pełne zastosowanie można zobaczyć poniżej:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PSD-Tutorials.de</title> <style> body { counter-reset: kapitel; } h1 { counter-increment: kapitel; } h1::before { content: counter(kapitel) ". "; } </style> </head> <body> <h1>Kapittel</h1> <h1>Kapittel</h1> </body> </html>
A tutaj wynik w przeglądarce:
W przykładzie pokazano, jak efektywne mogą być liczniki.
content: counter(kapitel) ". "
Poziome zagnieżdżone numerowanie jest również możliwe. W tym celu definiujesz licznik tam, gdzie ma on zacząć się od początku ponownie.
h1 { counter-increment: kapitel; counter-reset: unterkapitel; }
W tym przykładzie licznik jest resetowany za każdym razem, gdy pojawia się nowy element h1
. Poniższy przykład pokazuje typowe zastosowanie zagnieżdżonych liczników.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PSD-Tutorials.de</title> <style> body { counter-reset:kapitel; } h1 { counter-reset:unterkapitel; } h1:before { counter-increment:kapitel; content: counter(kapitel) ". "; } h2:before { counter-increment:unterkapitel; content:counter(kapitel) "." counter(unterkapitel) " "; } </style> </head> <body> <h1>Kapittel</h1> <h2>Podrozdział</h2> <h2>Podrozdział</h2> <h2>Podrozdział</h2> <h1>Kapittel</h1> <h2>Podrozdział</h2> <h2>Podrozdział</h2> <h2>Podrozdział</h2> </body> </html>
W przeglądarce prezentuje się to w ten sposób:
Przykłady pokazały, jak potężne mogą być liczniki.