CSS实现背景透明而背景上的文字不透明
在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了。但假如我们需要一个半透明遮罩的弹出层,如登陆框、注册框、提示等,这时可能需要整个页面都要被半透 明的遮罩层覆盖,那么如用背景平铺的话,此时此刻也许就不是一个好办法了,图片大了会影响加载速度,图片小了同样会增加页面的渲染计算量,那么这时也许就 需要用CSS滤镜了。
假如有这样一个例子:“有一个DIV块,此DIV是黑色半透明的,但此DIV里面的内容要保持原状,不能透明”,那么我们该怎么做呢?
假如HTML部分我们这样写的
- <div class="touMingDiv">
 - <div>
 - <h1>这是透明的层这是透明的层这是透明的层这是透明的层
 - 这是透明的层这是透明的层这是透明的层这是透明的层这是透明的层
 - </h1>
 - </div>
 - <p>
 - 这是透明的层,但上边的文字和图片均不透明,兼容ie7,ie8,ie9,ie10,FF,Chrome
 - </p>
 - <img src="bg.jpg"/>
 - </div>
 
对于CSS我们也许就这样写了
- .touMingDiv{
 - filter:Alpha(opacity=60);
 - opacity:0.6;
 - }
 
但经过测试我们发现,不仅div容器半透明了,连div里面的文字和图片都把透明了。由于这些滤镜的属性已经继承给了子元素,所以会出现这种效果。
我们可以用下面这种发法来实现
- .touMingDiv{
 - width:800px;
 - min-height:300px;
 - color:#fff;
 - background:rgba(0,0,0,0.6);
 - background:#000 9;/*CSS Hack,只能对ie9以下浏览器ie6,ie7,ie8有效,否侧ie10,FF,Cherome会失去透明效果*/
 - filter:Alpha(opacity=60);/*只对ie7,ie8有效*/
 - }
 - .touMingDiv p,
 - .touMingDiv div,
 - .touMingDiv img{
 - position:relative;
 - /*或者是absolute,都可以使文字不透明,这样做还是为了
 - 兼容ie9,ie8,ie7下背景透明而而背景上的文字不透明的效果*/
 - }
 
注意,上面background:rgba(0,0,0,0.6);只对ie9,ie10,FF,Chrome...等有效,不包括ie6,ie7,ie8,所以有了这几句代码:
- background:#000 9;/*CSS Hack,只能对ie9以下浏览器ie6,ie7,ie8有效,否侧ie10,FF,Cherome会失去透明效果*/
 - filter:Alpha(opacity=60);/*只对ie7,ie8有效*/
 
另外还要对子级元素设置relative或者absolute属性,这样才能出现背景透明而背景上面的文字和图片正常显示的效果。
但这里的代码毅然不适合ie6,建议对于ie6就用png图片吧,然后用js做一下处理。
来源: http://beyondweb.cn/article_detail.php?id=43
CSS实现背景透明而背景上的文字不透明的更多相关文章
- CSS实现背景透明而背景上的文字不透明完美解决
		
在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了.但假如我们 ...
 - CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容
		
CSS实现Div透明,而显示在上面的文字不透明,但也可看到显示在下面的图片内容,DiV透明其实挺简单,主要是为background定义opacity属性,一般这个是最大值是1,数值越接近1,则越不透明 ...
 - css实现遮罩层(解决透明背景上的文字不透明)
		
.PopUp_layer{ position:fixed; top: 0; left: 0; right:0; bottom:0; width:100%; height:1 ...
 - BootStrap 实现导航栏nav透明,nav子元素文字不透明
		
在给nav 的属性赋值 opacity:0.0透明度时会导致nav内子元素会继承opacity属性.此时再对子元素赋值opacity:1.0 时会导致 子元素实际opacity值为0.0*1.0=0. ...
 - CSS实现DIV层背景透明而文字不透明
		
在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6 下的BUG,但这也不困难,加上一段js处理就行了.但假如我们 ...
 - 【原】CSS实现背景透明,文字不透明,兼容所有浏览器
		
11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...
 - CSS实现背景透明,文字不透明,兼容所有浏览器
		
11.11是公司成立的日子,16岁啦,我呢3岁半,感谢公司给了这样一个平台,让我得以学习和成长,这里祝愿公司发展越来越好~ 进入主题,每年11月11号是光棍节,产生于校园,本来只是一流传于年轻人的娱乐 ...
 - css如何实现背景透明,文字不透明?
		
之前做了个半透明弹层,但设置背景半透明时,子元素包含的字体及其它元素也都变成了半透明.对opacity这个属性认识的不透彻,在这里做一些总结,方便以后使用. 背景透明,文字不透明的解决方法: ...
 - CSS实现背景透明,文字不透明(兼容所有浏览器)
		
我们平时所说的调整透明度,其实在样式中是调整不透明度,如下图所示例: 打开ps,在图层面板上,可以看到设置图层整理不透明度的菜单,从 0% (完全透明)到 100%(完全不透明). 实现透明的css方 ...
 
随机推荐
- Javascript重点汇总
			
LazyMan 实现LazyMan(什么是LazyMan?请自行google) function _LazyMan(_name) { var _this = this; _this.tasks = [ ...
 - 东方超环(EAST)世界纪录
			
2017年7月3日夜晚,国家大科学装置——世界上第一个全超导托卡马克(EAST)东方超环再传捷报:实现了稳定的101.2秒稳态长脉冲高约束等离子体运行,创造了新的世界纪录.这标志着EAST成为了世界上 ...
 - 第九章 词典 (c)散列:散列函数
 - Serializers序列化组件
			
Django的序列化方法 .values 序列化结果 class BooksView(View): def get(self, request): book_list = Book.objects.v ...
 - 《纪念碑谷》(Monument Valley) 系列游戏的空间结构是如何设计的?
			
这个游戏有着像埃舍尔的画一样有着空间结构的矛盾,如果是2D游戏,艾达可以行走的路线.建筑结构变化的过程是如何绘制的?如果是3D游戏,那么如何对这种违背物理定律的矛盾空间进行建模?以前有一个叫“无限回廊 ...
 - stm32GPIO的8种工作模式
			
推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止.高低电平由IC的电源决定. 推挽电路是两个参数相同的三极管或MOS ...
 - Win7系统不能记忆窗口大小与位置解决方法
			
似在某此系统优化后,无意发现系统在注销或重启后,打开资源管理器,它以默认大小及位置显示. 对于习惯自定义操作来说,甚为不便,遍找方法未有奏效者,但总萦绕心头,时时记起. 今日再找问题解决方法,难兄难弟 ...
 - selenium模拟事件处理
			
执行原理: 调用ActionChains的方法时不会立即执行,会将所有的操作按顺序存放在一个队列里,当调用perform()方法时,从队列中的事件会依次执行. 支持链式写法或者是分布写法. 鼠标键盘方 ...
 - 662. Maximum Width of Binary Tree二叉树的最大宽度
			
[抄题]: Given a binary tree, write a function to get the maximum width of the given tree. The width of ...
 - 定时器修改button标题闪烁
			
在做一个项目时,用到UIButton来设置接收短信验证码的倒计时,但是用NSTimer来设置标题会出现连续闪烁的问题. 经过测试发现了一下内容,如果只是单独的设置button的titleLabel的内 ...