Obsługa błędów w CSS

Przeglądarki mają obowiązek całkowicie ignorować fragmenty arkusza, których nie rozumieją. Jeśli nie rozumieją fragmentu selektora, ignorują całą regułę. Jeśli nie rozumieją którejkolwiek z wartości właściwości, ignorują całą właściwość, ale nie regułę.

W połączeniu z kaskadą pozwala to podać kilka wersji każdej reguły dla przeglądarek, które nie rozumieją tych bardziej zaawansowanych.

 #foo {
  color: rgb(234,0,0);
  color: rgba(234,0,0,0.5);
 }
 Jeśli przeglądarka nie rozumie rgba to zignoruje tę właściwość i pozostawi wcześniej ustawiony nieprzezroczysty kolor. W przeciwnym wypadku druga reguła nadpisze pierwszą (patrz CSS 3).

 a, b, c[%%%] {color: red}
 Reguła nie zostanie zastosowana do żadnego elementu, ponieważ nieprawidłowy selektor c[%%%] powoduje jej całkowite zignorowanie (czyli selektory ab też nie zostaną wzięte pod uwagę).

 a {border: 2px; border: 1px 0 0 7foo;}
 Cała ramka będzie dwupixelowa, ponieważ nieprawidłowa jednostka 7foo powoduje zignorowanie całej drugiej właściwości.

Częstym błędem jest dostawienie średnika za klamrą kończącą regułę CSS. Średnik jest traktowany jako część nieprawidłowego selektora i powoduje zignorowanie całej kolejnej reguły Bug w IE

Przy ignorowaniu przeglądarki przeskakują klamry, nawiasy i cudzysłowy parami. Oznacza to, że niedomknięcie któregoś z tych elementów może spowodować zignorowanie nawet całego arkusza.

Gdy nie ma błędu i nadal „nie działa”

Być może to przez kaskadę, która powoduje „przykrycie” jednych reguł przez inne.


Zmodyfikowano: 11.09.2011, 23:01
submit