网站开发进阶(五十玖)css 实现背景透明,文字不透明
一、解决措施
背景透明,文字不透明的解决方法:
为元素添加一个绝对定位的子元素,设置大小和该元素一样,把半透明加在绝对定位元素上作为遮罩,
z-index
设置到最底部,达到背景半透明效果。使用 CSS3 新属性
rgba
。
实现透明的方法:
css3
的opacity
,取值从 0 到 1,如opacity : 0.5
,IE9
及以上版本和标准浏览器都支持。IE8
以及更早的版本支持替代的filter
属性,例如:filter : Alpha(opacity=50)
。
css3
的rgba(red, green, blue, alpha)
,alpha
的取值从 0 到 1,如background-color : rgba(255,255,255,0.5)
。
谷歌浏览器下测试各种属性,如下:
效果图如下:
css3
的opacity
:
由上图可以看出,使用opacity
属性的第二个方块,其子元素包含的文字也变成了半透明。
注释:设置opacity
元素的所有后代元素会随着一起具有透明性,一般用于调整图片或者模块的整体不透明度,兼容 IE9 及以上版本和标准浏览器。
css3
的rgba
:
由上图可看出,设置rgba
的方块可实现背景色透明,并且子元素包含的文字不透明。
注释:IE9+、Firefox 3+、Chrome、Safari 以及 Opera 10+都支持。
IE 的filter
: Alpha(opacity=x)
:仅支持 IE6、7、8、9,在 IE10 版本被废除。
二、拓展阅读 Javascript 追加 style 样式
2.1 前言
在前端开发过程中,会遇到js
实现业务逻辑的时候代码式追加元素样式的应用场景。
2.2 思路
1、通过拼接cssText
方式实现。
2、通过设置class
,累加设置class
方式实现 。
2.3 代码示例
1、第一种方式可以应用下面函数实现,el
表示待追加样式的dom
节点,strCss
表示待追加的样式。
2、第二种方式把样式定义成class
,element
表示待追加样式的dom
节点,value
表示class
名称。
版权声明: 本文为 InfoQ 作者【No Silver Bullet】的原创文章。
原文链接:【http://xie.infoq.cn/article/9d600260083cc3d00d63a6454】。文章转载请联系作者。
评论