Jak sprawić, aby text-shadow i box-shadow używały koloru tekstu we wszystkich przeglądarkach?
Próbuję stworzyć styl dla pudełka z cieniem o tym samym kolorze co jego tekst. Ponieważ mam kilka pudełek, każde z innym kolorem tekstu, chciałbym uniknąć konieczności powtarzania tego samego koloru w każdym zestawie reguł dla każdego pudełka.
Teraz stwierdza się moduł Backgrounds and Bordersbox-shadow
(dotyczy to równieżtext-shadow
):
Gdzie
<shadow> = inset? && [ <length>{2,4} && <color>? ]
Składniki każdego<shadow>
są interpretowane w następujący sposób:
...
Kolor jest kolorem cienia. Jeśli kolor jest nieobecny, używany kolor jest pobierany z właściwości „kolor”.1
Oznacza to, że jeśli nie określisz koloru cienia na danym elemencie, to użyty kolor cienia musi zostać pobrany z koloru tekstu obliczonego dla tego elementu. Jest to podobne do zachowania związanego z granicami bez wyraźnego koloru, który sięga wsteczCSS1 i pozostaje bez zmianCSS2.
Jednak zdaję sobie sprawę, że nie zawsze tak było w przypadku cieni - wcześniej (dopiero w 2011 r.!) Wybrany kolor pozostawiono w przeglądarce, aby zdecydować zarówno w module Tekst, jak iw module B & B. I rzeczywiście, jak pamiętam, testowanie w przeszłości pokazało, że niektóre przeglądarki wybrałyblack
a inni wybralitransparent
(lub całkowicie zignorował styl cienia). Mogło to nawet się różnićtext-shadow
ibox-shadow
. Oczywiście jest to zrozumiałe, ponieważ, jak już wspomniano, dowolny kolor wybrany przez przeglądarkę byłby wówczas w porządku.
Ale teraz, kiedy definicja została wyjaśniona, a najnowsze wersje wszystkich przeglądarek również odzwierciedlają zmianę, czy jest coś, co mogę zrobić, aby starsze wersje poszły w ich ślady? Wiem, że mogę po prostu określić kolor wielokrotnie - raz dla tekstu i raz dla każdego cienia - ale tak jak powiedziałem, chciałbym tego uniknąć, jeśli to możliwe.
1 Zauważ, że w połowie 2012 r. WD, który jest najnowszym z tego pisma, wcześniejsze oświadczenie w tej samej sekcji jest sprzeczne z cytowanym tutaj, jednak przytoczone tu stwierdzenie jest kanoniczne; widziećten wątek listy dyskusyjnej iED gdzie to zostało naprawione.