opacity
Styl wpływa na cały element, i wszystko, co w jego obrębie. Prawidłową odpowiedzią na to jest użycie zamiast tego koloru tła rgba.
CSS jest dość prosty:
.myelement {
background: rgba(200, 54, 54, 0.5);
}
... gdzie pierwsze trzy liczby to wartości czerwonego, zielonego i niebieskiego koloru tła, a czwarta to wartość kanału „alfa”, która działa tak samo jak opacity
wartość.
Zobacz tę stronę, aby uzyskać więcej informacji: http://css-tricks.com/rgba-browser-support/
Wadą jest to, że nie działa to w IE8 lub niższych. Strona, do której utworzyłem łącze powyżej, zawiera również listę kilku innych przeglądarek, w których nie działa, ale wszystkie są już bardzo stare; wszystkie obecnie używane przeglądarki oprócz IE6 / 7/8 będą działały z kolorami rgba.
Dobra wiadomość jest taka, że możesz zmusić IE do pracy z tym, używając hacka o nazwie CSS3Pie . CSS3Pie dodaje wiele nowoczesnych funkcji CSS3 do starszych wersji IE, w tym kolory tła rgba.
Aby użyć CSS3Pie jako tła, musisz dodać określoną -pie-background
deklarację do swojego CSS, a także behavior
styl PIE , aby Twój arkusz stylów wyglądał tak:
.myelement {
background: rgba(200, 54, 54, 0.5);
-pie-background: rgba(200, 54, 54, 0.5);
behavior: url(PIE.htc);
}
Mam nadzieję, że to pomoże.
[EDYTOWAĆ]
Co jest warte, jak wspominali inni, możesz użyć filter
stylu IE ze gradient
słowem kluczowym. Rozwiązanie CSS3Pie faktycznie wykorzystuje tę samą technikę za kulisami, ale eliminuje potrzebę bezpośredniego majstrowania przy filtrach IE, dzięki czemu arkusze stylów są znacznie czystsze. (dodaje też całą masę innych fajnych funkcji, ale nie ma to znaczenia w tej dyskusji)