在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用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属性和技巧的兼容性,以及如何根据浏览器特性选择合适的方法。通过灵活运用 rgba()、opacity、filter 和渐变等工具,我们可以创建出既美观...
这段代码在Internet Explorer 6.0+、Firefox 3.0+、Opera 10+、Chrome以及Safari等浏览器中都经过了测试,能够成功实现背景透明且文字不透明的效果。通过这种方式,我们可以确保在不同浏览器上保持一致的视觉体验,...
本文介绍了css实现背景半透明文字不透明的效果示例,分享给大家,具体如下: 效果如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style...
对于Internet Explorer浏览器,由于它对CSS3透明度的支持有限,我们可以使用滤镜(filter)来实现背景透明。以下是一个例子: ```css .demo { background-color: transparent; /* 设置背景颜色为透明 */ filter: ...
总结起来,要实现背景半透明而文字不透明的效果并兼容IE6,可以结合使用rgba和滤镜属性。首先利用rgba属性为非IE浏览器设置背景透明度,然后对IE6使用DXImageTransform.Microsoft.gradient滤镜,最后通过`:root....
IE6是大家都十分头痛的一个浏览器,为了...背景透明</title><style>body{margin:0;padding:0;}.back{width:800px;height:700px;background:url(images/超级金属.png);background-repeat:no-repeat;padding
总的来说,CSS 提供了强大的工具来实现背景图片透明而文字不透明的效果,为网页设计带来了更多的可能性。无论选择哪种方法,都需要结合项目需求和目标用户群体的浏览器支持情况来做出最佳决策。
在CSS3中,实现背景透明而文字不透明的效果有多种方法。这里我们将详细探讨如何通过修改示例代码来实现这一目的。首先,我们要明白CSS3引入的新特性,如`rgba()`函数和`background-color`的透明度控制,可以帮助我们...
在本主题中,我们将深入探讨如何使用CSS实现半透明效果,这是一个常见的视觉设计技巧,可以使网页元素呈现出不同程度的透明度,从而增加界面的层次感和美感。 在CSS中,半透明效果主要通过调整元素的`opacity`属性...
在网页设计中,有时我们需要实现背景透明但...总的来说,通过使用PNG32格式的透明图片和适当的CSS样式,我们可以轻松地在IE7+浏览器中实现背景透明而文字不透明的效果。这种方法既简单又实用,适用于多种网页设计场景。
在另一个例子中,我们添加了背景颜色并设置其透明度,同时保持文字不透明: ```css .transparent-color { font-size: 14px; background: rgba(240, 0, 0, 0.5); /* 使用rgba设置背景颜色透明度 */ } ....
其中一个设计趋势是使用具有透明背景的图片,同时保持页面内容的不透明度,以便视觉焦点能够集中在文本或表单上。本文将详细讲解如何仅使用CSS实现背景图片半透明而内容保持不透明的效果,这种方法不依赖于...
总之,实现背景透明而文字不透明,同时兼容IE浏览器,可以通过结合使用rgba()函数和IE滤镜来达成。然而,随着浏览器更新迭代,开发者应逐步减少对过时浏览器的依赖,转而采用更先进、更标准的前端技术。
/* 或者改变背景透明度 */ background-color: rgba(255, 255, 255, 0.8); } ``` 对于表单按钮,我们可以用相同的方法调整透明度,但可能还需要考虑按钮的边框和文字颜色。使用`border-color`和`color`属性,配合`...
为了实现背景透明,我们可以使用`<div>`标签配合CSS3的`@keyframes`动画实现自定义滚动效果,并通过`opacity`属性控制背景透明度。例如: ```html 这里是滚动字幕内容 ``` ```css .scrolling-text { ...
我是有透明背景的元素 ``` 这样,`element`类在CSS中的定义就会应用到这个`<div>`元素上,从而实现背景颜色的透明效果。 综上所述,"base.css-master"文件可能包含了实现背景颜色透明的各种CSS规则和技巧,比如...