如何使跨浏览器(包括Internet Explorer 6)的透明度在一段div
时间后文本保持不透明?
我需要在不使用任何库(如jQuery等)的情况下完成它.(但是如果你知道一个库那样做我很想知道,所以我可以查看他们的代码).
Aus*_*ams 596
使用rgba!
.alpha60 {
/* Fallback for web browsers that don't support RGBa */
background-color: rgb(0, 0, 0);
/* RGBa with 0.6 opacity */
background-color: rgba(0, 0, 0, 0.6);
/* For IE 5.5 - 7*/
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
/* For IE 8*/
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
}
Run Code Online (Sandbox Code Playgroud)
除此之外,您还必须
background: transparent
为IE Web浏览器声明,最好通过条件注释或类似方式提供!
Can*_*der 32
我使用alpha透明的PNG:
div.semi-transparent {
background: url('semi-transparent.png');
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*man 16
我在我的博客Landman Code上创建了这个效果.
我做的是
#Header {
position: relative;
}
#Header H1 {
font-size: 3em;
color: #00FF00;
margin:0;
padding:0;
}
#Header H2 {
font-size: 1.5em;
color: #FFFF00;
margin:0;
padding:0;
}
#Header .Background {
background: #557700;
filter: alpha(opacity=30);
filter: progid: DXImageTransform.Microsoft.Alpha(opacity=30);
-moz-opacity: 0.30;
opacity: 0.3;
zoom: 1;
}
#Header .Background * {
visibility: hidden; // hide the faded text
}
#Header .Foreground {
position: absolute; // position on top of the background div
left: 0;
top: 0;
}
Run Code Online (Sandbox Code Playgroud)
<div id="Header">
<div class="Background">
<h1>Title</h1>
<h2>Subtitle</h2>
</div>
<div class="Foreground">
<h1>Title</h1>
<h2>Subtitle</h2>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
重要的是每个填充/边距和内容在.Background和.Foreground中都必须相同.
bri*_*out 13
放宽您对IE6和旧版浏览器的工作要求,您可以使用:: before和display:inline-block
div
{
display: inline-block;
position: relative;
}
div::before
{
content: "";
display: block;
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
background:red;
opacity: .2;
}
Run Code Online (Sandbox Code Playgroud)
演示在http://jsfiddle.net/KVyFH/172/
它适用于任何现代浏览器
归档时间: |
|
查看次数: |
1010421 次 |
最近记录: |