手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

CSS透明属性详解

首页 > Misc >

对于CSS的各种特效,在网页上是被用的很多,但,有一些是在IE下独有的,比如滤镜。。。(有专门的程序现在可以处理哦,已经实现。黑黑,当然不是我写的)
以下内容就是帕兰映像对于CSS透明属性进行的解释。他的V7模版最终我还是没有用。准备等这次项目结束后更换到wordpress下,或许,我会请朋友帮做模版和开发插件了。
相信应该有人用吧?

.transparent_class {
filter:alpha(opacity=50);
-moz-opacity:0.5;
-khtml-opacity: 0.5;
opacity: 0.5;
}

上面的几个属性分别是:

  • opacity: 0.5; 这是最重要的,因为它是CSS标准.该属性支持Firefox, Safari和 Opera.
  • filter:alpha(opacity=50); 这个是为IE6设的,可取值在0-100,其它三个0到1.
  • -moz-opacity:0.5; 这个是为了支持一些老版本的Mozilla浏览器。
  • -khtml-opacity: 0.5; 这个为了支持一些老版本的Safari浏览器。

CSS透明度继承问题

但CSS的透明属性涉及到一个继承问题,当为父级元素设置透明度后,子元素将自动继承其透明度,比如本站的一个效果:

大小: 41.85 K
尺寸: 425 x 189
浏览: 749 次
点击打开新窗口浏览全图

即使你又为子元素指定透明度为1也是无效的。

对于子元素是文字的情况,我的解决方法一般是如果多少还能够看清,就不管。另一个折衷的方法是,为文本子元素指定一个相对更深的颜色。也就是说,当 子元素继承透明度后,所得到的文本颜色正好就是你想要的。前提是,这个颜色还有加深的可能,和需要详细的计算颜色和透明度的值。

还有“取消透明度继承”的说法,这个说法是不太准确的,据我个人所知,没有任何取消透明度继承的方法。只能说,当想要实现“多个元素覆盖,只让指定的元素透明”时,可以使用的一些Hack。

搜了一下,找到一个不错的实现这种效果的方法 – 一个关于透明继承度的问题,有兴趣的朋友可以看看。原理很简单,添加一个空元素作为透明层,和不想透明但是要实现覆盖效果的元素为同级元素。父级元素使用position:relative定位; 两个子元素使用position:absolute定位,实现覆盖。

来源于 CSS透明属性详解 | 帕兰映像




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: css

« 上一篇 | 下一篇 »

只显示10条记录相关文章

Rel与CSS的联合使用 (浏览: 15566, 评论: 2)
9 个基于JavaScript 和 CSS 的 Web 图表框架 (浏览: 15017, 评论: 0)
CSS背景 (浏览: 14592, 评论: 0)
Table2CSS Converter (浏览: 14101, 评论: 3)
CSS中media标签的作用 (浏览: 14029, 评论: 0)
好东西,不得不贴,继续上传两个文件 (浏览: 13997, 评论: 0)
CSS让你的IE浏览器崩溃 (浏览: 12084, 评论: 0)
CSS Position Fixed for IE6 (浏览: 12065, 评论: 0)
写HTML和CSS的新方法 (浏览: 9889, 评论: 1)
【酷】Ultimate CSS Gradient Generator (浏览: 9166, 评论: 0)

发表评论

评论内容 (必填):