Dodatek E. Szczegółowy opis kontekstów stosowych
Spis treści
Ten rozdział definiuje kolejność rysowania elementów CSS 2.1 bardziej szczegółowo, niż reszta specyfikacji.
E.1 Definicje
- Kolejność drzewa
- Przeglądanie wzdłużne w głąb drzewa renderowania w logicznej (nie wizualnej) kolejności dla treści dwukierunkowej po uwzględnieniu własności, które przesuwają pola, takich jak np. wartość ‚run-in’ własności ‚display’.
- Element
- W tym opisie "elementami" są rzeczywiste elementy, pseudoelementy oraz pola anonimowe. Pseudoelementy i pola anonimowe są traktowane jako potomkowie w odpowiednich miejscach. Na przykład zewnętrzny punktor listy występuje przed sąsiadującym polem ‚:before’ w polu linowym, które to pole ‚:before’ występuje przed treścią pola liniowego itd.
E.2 Kolejność rysowania
Spód stosu jest najbardziej oddalony od użytkownika. Wierzch znajduje się najbliżej:
| | | | | | | | ? ? | | | użytkownik z-index: kanwa -1 0 1 2
Tło kontekstu stosowego i konteksty stosowe o najniższych numerach ujemnych znajdują się na spodzie stosu. Natomiast konteksty stosowe o najwyższych numerach dodatnich znajdują się na wierzchu stosu.
Kanwa jest przezroczysta, jeśli znajduje się w innej oraz ma kolor zdefiniowany przez aplikację kliencką w przeciwnym przypadku. Kanwa jest nieskończona i zawiera element główny. Początkowo lewy górny róg obszaru widoku jest zaczepiony na początku kanwy.
Kolejność stosowa elementu generującego kontekst stosowy (zobacz własność ‚z-index’) jest następująca:
-
Jeśli element jest elementem głównym:
- kolor tła elementu pokrywa całą kanwę.
- obraz tła elementu, pokrywa całą kanwę, zaczepiony jest na początku, który zostałby użyty gdyby narysowano go dla elementu głównego.
-
Jeśli element jest blokiem, elementem listy lub innym odpowiednikiem bloku:
- kolor tła elementu, jeśli nie jest to element główny.
- obraz tła elementu, jeśli nie jest to element główny.
- obramowanie elementu.
Jeśli element jest elementem tabelowym:
- tła tabeli (najpierw kolor, potem obraz), jeśli element nie jest elementem głównym.
- tła grup kolumn (najpierw kolor, potem obraz).
- tła kolumn (najpierw kolor, potem obraz).
- tła grup wierszy (najpierw kolor, potem obraz).
- tła wierszy (najpierw kolor, potem obraz).
- tła komórek (najpierw kolor, potem obraz).
- wszystkie krawędzie obramowania tabeli (w kolejności drzewa w przypadku obramowań oddzielonych).
-
Konteksty stosowe utworzone przez potomków pozycjonowanych z ujemnymi indeksami (nie wliczając 0) w kolejności na osi z (najpierw największe liczby ujemne), a następnie w kolejności drzewa.
-
Dla wszystkich należących do układu, niepozycjonowanych potomków blokowych w kolejności drzewa: Jeśli element jest blokiem, elementem listy lub innym odpowiednikiem bloku:
- kolor tła elementu.
- obraz tła elementu.
- obramowanie elementu.
W przeciwnym przypadku element jest tabelą:
- tła tabeli (najpierw kolor, potem obraz).
- tła grup kolumn (najpierw kolor, potem obraz).
- tła kolumn (najpierw kolor, potem obraz).
- tła grup wierszy (najpierw kolor, potem obraz).
- tła wierszy (najpierw kolor, potem obraz).
- tła komórek (najpierw kolor, potem obraz).
- wszystkie krawędzie obramowania tabeli (w kolejności drzewa w przypadku obramowań oddzielonych).
-
Wszystkie niepozycjonowane pływające elementy potomne w kolejności drzewa. Dla każdego z tych element jest traktowany tak, jakby tworzył nowy kontekst stosowy, ale wszyscy pozycjonowani potomkowie i potomkowie, którzy rzeczywiście tworzą nowy kontekst stosowy powinni być uważani za część nadrzędnego kontekstu stosowego, nie tego nowego.
-
Jeśli element jest śródliniowym elementem generującym kontekst stosowy:
-
dla każdego pola liniowego, w którym element ten się znajduje:
- Przejdź do 7.2.1 dla pól tego elementu w tym polu liniowym (w kolejności drzewa).
-
-
W innym przypadku: najpierw dla elementu, następnie dla wszystkich jego należących do układu, niepozycjonowanych potomków blokowych w kolejności drzewa:
-
Jeśli element jest zastępowanym elementem blokowym: treść zastępowana, niepodzielnie.
-
Dla każdego pola liniowego tego elementu:
-
Dla każdego pola będącego dzieckiem tego elementu, w tym polu liniowym, w kolejności drzewa:
-
kolor tła elementu.
-
obraz tła elementu.
-
obramowanie elementu.
-
Dla elementów śródliniowych:
-
Dla wszystkich należących do układu, niepozycjonowanych śródliniowych dzieci elementu, które znajdują się w tym polu liniowym i wszystkich linii tekstu znajdujących się w elemencie, który znajduje się w tym polu liniowym w kolejności drzewa:
-
Jeśli jest to fragment tekstu:
- wszelkie podkreślenia dotyczące tego tekstu w kolejności drzewa elementów stosujących to podkreślenie (tak, że podkreślenie najgłębiej położonego elementu jest rysowane najwyżej, a elementu głównego — najniżej).
- wszelkie nadkreślenia dotyczące tego tekstu w kolejności drzewa elementów stosujących to nadkreślenie (tak, że nadkreślenie najgłębiej położonego elementu jest rysowane najwyżej, a elementu głównego — najniżej).
- Tekst.
- wszelkie przekreślenia dotyczące tego tekstu w kolejności drzewa elementów stosujących to przekreślenie (tak, że przekreślenie najgłębiej położonego elementu jest rysowane najwyżej, a elementu głównego — najniżej).
-
W przeciwnym przypadku przejdź do 7.2.1 dla tego elementu.
-
Dla bloków śródliniowych i tabel śródliniowych:
- Dla każdego z tych element jest traktowany tak, jakby tworzył nowy kontekst stosowy, ale wszyscy pozycjonowani potomkowie i potomkowie, którzy rzeczywiście tworzą nowy kontekst stosowy powinni być uważani za część nadrzędnego kontekstu stosowego, nie tego nowego.
Dla śródliniowych elementów zastępowanych:
- treść zastępowana, niepodzielnie.
-
Niektóre pola mogą zostać wygenerowane poprzez podzielenie linii lub przez algorytm dwukierunkowości Unicode.
-
-
Opcjonalnie, obrys elementu (zobacz 10 poniżej).
-
-
Opcjonalnie, jeśli element jest blokowy, obrys elementu (zobacz 10 poniżej).
-
-
Wszystkie pozycjonowane elementy potomne z własnością ‚z-index: auto’ lub ‚z-index: 0′, w kolejności drzewa. Dla elementów z własnością ‚z-index: auto’ element jest traktowany tak, jakby tworzył nowy kontekst stosowy, ale wszyscy pozycjonowani potomkowie i potomkowie, którzy rzeczywiście tworzą nowy kontekst stosowy powinni być uważani za część nadrzędnego kontekstu stosowego, nie tego nowego. Dla elementów z własnością ‚z-index: 0′, wygenerowany kontekst stosowany należy traktować jako niepodzielny.
-
Konteksty stosowe utworzone przez potomków pozycjonowanych o indeksach większych niż lub równych 1 (najmniejszy najpierw), następnie kolejność drzewa.
-
W końcu implementacje nie rysujące obrysów w powyższych punktach, muszą rysować obrysy z tego kontekstu stosowego na tym etapie. (Zaleca się rysowanie obrysów na tym etapie, a nie wcześniej.)
E.3 Uwagi
Tło elementu głównego jest rysowane tylko raz, nad całą kanwą.
Mimo że tła dwukierunkowych elementów śródliniowych są rysowane w kolejności drzewa, są pozycjonowane w kolejności wizualnej. Ponieważ pozycjonowanie teł elementów śródliniowych w CSS 2.1 jest nieokreślone, wynik tych dwóch wymogów zależy od aplikacji klienckiej. W CSS 3 może to zostać zdefiniowane bardziej szczegółowo.





Wysyłam...
Dodaj komentarz