selektor { display: sposób }
Polecenie to pozwala określić sposób, w jaki będzie wyświetlony na ekranie dany element. Jest to bardzo przydatna funkcja, jeśli chcemy zrezygnować z domyślnego sposobu wyświetlania. Na przykład: wszystkie tytuły (<Hn>...</Hn>) są wyświetlane domyślnie w bloku, tzn. automatycznie są dodawane linijki przerwy pomiędzy danym tytułem a sąsiadującymi z nim elementami. Lecz dzięki poleceniu "display: inline" możliwe jest ustawienie dwóch sąsiednich tytułów w jednej linii.
Natomiast użycie "display: list-item" okazuje się przydatne w stosunku do elementu wykazu (znacznik <li>...</li>), kiedy chcemy przywrócić normalny sposób jego wyświetlania (który został zmieniony np. w arkuszu stylów), nie zmieniając jednocześnie wyświetlania dla innych elementów <li>...</li>. Oczywiście można w ten sposób również tworzyć punkty wykazu z innych znaczników niż <li>...</li>.
Polecenie "display: none" okazuje się bardziej przydatne, niż początkowo można by sądzić. Przykładowe zastosowanie to usunięcie niektórych elementów strony podczas jej drukowania [zobacz: Media]. Nie ma raczej sensu drukować menu nawigacyjnego, które powtarza się na każdej stronie, ponieważ na papierze i tak będzie ono całkowicie bezużyteczne. Zastosowanie tego polecenia pozwoli zaoszczędzić trochę papieru, a jednocześnie sprawi, że wydruk będzie wyglądał bardziej spójnie.
Polecenie display: none jest zbliżone do visibility: hidden. Różnica polega na tym, że pierwsze z nich całkowicie usuwa element z ekranu, natomiast drugie tylko go ukrywa - w miejscu gdzie miał być wyświetlony, jest widoczne puste miejsce.
Działanie "display: run-in" jest bardziej skomplikowane, dlatego posłużę się przykładem:
<div style="display: run-in"> Ten element zostanie wyświetlony w linii w ramach brata. </div> <div> Brat ("block") </div> <br /> <div style="display: run-in"> Ten element zostanie wyświetlony jako blok. </div> <span>Brat ("inline")</span> <br /><br /> <div style="display: run-in"> Ten element zostanie wyświetlony jako blok. </div> Tekst
Na ekranie powinniśmy zobaczyć taki układ treści:
Ten element zostanie wyświetlony w linii w ramach brata. Brat ("block")
Ten element zostanie wyświetlony jako blok.
Brat ("inline")
Ten element zostanie wyświetlony jako blok.
Tekst
UWAGA! MSIE 6.0 ani 7.0 nie obsługuje tabelarycznych wartości wyświetlania elementów, inline-block ani run-in. Natomiast MSIE 5 dodatkowo nie radzi sobie z list-item. Wszystkie z CSS 2.1 są obsługiwane przez przeglądarkę Opera i Chrome, a także w większej części Firefox 3 i Konqueror (oprócz run-in) - Firefox 2 nie obsługuje również inline-block. W MSIE 8.0 wszystko jest w porządku, ale tylko w trybie Standards Compliance.
Przykład:
To jest zwykły tekstTo jest normalny akapit (wyświetlany w bloku).
To jest zwykły tekstTo jest akapit w linii.
To jest zwykły tekst
display: block
display: inline
<div style="display: table; border-spacing: 1px; border: 1px solid black"> <div style="display: table-row"> <div style="display: table-cell; border: 1px solid gray">komórka1</div> <div style="display: table-cell; border: 1px solid gray">komórka2</div> </div> <div style="display: table-row"> <div style="display: table-cell; border: 1px solid gray">komórka3</div> <div style="display: table-cell; border: 1px solid gray">komórka4</div> </div> </div>
Jest to odpowiednik następującej tabeli:
<table style="border-spacing: 1px; border: 1px solid black"> <tr> <td style="border: 1px solid gray">komórka1</td> <td style="border: 1px solid gray">komórka2</td> </tr> <tr> <td style="border: 1px solid gray">komórka3</td> <td style="border: 1px solid gray">komórka4</td> </td> </table>
| komórka1 | komórka2 |
| komórka3 | komórka4 |
Dla porównania zwykły blok:
To jest zwykły tekstW jaki sposób ustalić położenie podpisu (tytułu) tabeli?
W jaki sposób przeglądarka oblicza rozmiary poszczególnych komórek tabeli? W jaki sposób wyświetlić tabelę bardzo wydajnym algorytmem?
Jak dodać efektowne obramowanie tabeli i jej komórek? Jak wprowadzić nowy, estetyczny model obramowania w tabeli za pomocą pojedynczych linii?
Pomogła Ci ta strona? Chcesz, aby dalej się rozwijała?
Wpłać dobrowolną dotację...