• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css 背景半透明最佳实践

css 背景半透明最佳实践

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css,背景半透明等相关知识,佚名 希望在学习及工作中可以帮助到您
现在有一个需求,需要对一个纯色的层实现半透明效果。效果如下,边框需要透明,透明度为 #000000 的 30%:

背景半透明

用各种浏览器打开下面这个 DEMO, IE9 有特殊显示:http://demo.jb51.net/js/2011/transparentbg/

一、使用 opacity + Alpha Filter

看起来手挺简单的吧?嗯。挺简单的… 希望你能很方便实现这个方案!其实见到这个的时候,我们的第一想法当然是 background + opacity,在不支持 opacity 的 IE 使用 filter 的 alpha 滤镜来实现。然后,我们得到这样的效果:

背景半透明

.opacity{
    background:#000;
    opacity:0.3;
    filter: alpha(opacity=30);
}

无一例外,最外层,最内层和文字,都被设置了 opacity(alpha 也是使用 opacity ) 。当然,我们可以给各层设置 opacity 变回来。但这是多麻烦的事(不信试一下)。

二、最佳实践:rgba色彩 + Gradient Filter

其实我们可以选用 background-color: rgba() 来实现,同样可以实现透明效果,并且只应用于当前元素,不继承。而 IE 的 filter 有很多滤镜效果。其中的渐变滤镜,只要变通一下,就可以实现我们想要的效果,并且这个滤镜不会被下级元素继承,这样元素的内容就不会被虚化。代码如下:

背景半透明

那么我们可以利用 IE 的 HACK,单独把 IE9 的 filter 变成透明度为 0 即可。高级浏览器大部分支持 :root 伪类,但不支持 filter 属性,而 IE 只有 IE9 支持,所以我们可以这样写。代码如下:


参考文献:

  • CSS background transparency without affecting child elements, through RGBa and filters
  • MSDN: Gradient Filter
  • MSDN: Alpha Filter
  • IE9 Only Hack

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06常用css属性查询表
  • 2017-08-06纯CSS实现Tab切换标签效果代码
  • 2017-08-06css外部样式加载Link与import的区别
  • 2017-08-06CSS控制文本的长度 超过一行显示省略号的实现方法
  • 2017-08-06图片下面出现空白像素BUG的常用解决方法归纳
  • 2017-08-06网页设计中HTML代码、CSS代码和javascript的技巧和细节
  • 2017-08-06CSS 样式命名规则
  • 2017-08-06DIV设置float后父容器无法定位高度的问题解决方法
  • 2017-08-06IE 元素默认高度研究
  • 2017-08-06css 固定顶部 怎么用css定义一个固定在页面顶部的层

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html 滚动条在IE6和IE7中兼容性问题
    • 表单button的outline在firefox浏览器下的问题
    • 区别div和span、relative和absolute、display和visibility
    • hCalendar微格式 关于事件和基于时间或地点的活
    • div+css纵向导航如何实现且为导航添加超链接
    • float:left的对象(导航)如何居中示例探讨
    • IE9下(table/div/图片)的居中问题
    • 表格列表偶数列、奇数列的CSS样式示例
    • 浏览器hack总结 详细的浏览器兼容性的快速解决方法
    • 关于Chrome浏览器字体显示的太小不一的bug处理

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有