Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
795 views
in Technique[技术] by (71.8m points)

css - Is there a way to make IE8 honour opacity on an `:before` pseudo element?

I have this simple CSS...

div:before {
    content: "G'day";   
    filter: alpha(opacity=40);
    -moz-opacity: .4;
    opacity: .4;
}

jsFiddle.

The :before pseudo element has the correct opacity in Firefox 6. In IE8, the opacity is not applied.

Typically, setting the opacity on the div works, but that isn't what I want.

I tried adding display: block but it didn't help.

Whilst I could workaround this, is there any trick to get IE8 to honour the opacity property on a :before (and :after for that matter) pseudo element?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I don't think it's possible.

I had the same problem a while back, and I ended up just working around it (by not using :before).

image

Here's some sound reasoning as to why it's not possible: Why does a filter gradient on a pseudo element not work in IE8?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...