[技巧心得] 背景半透明最佳实践

rgba色彩 + Gradient Filter

其实我们可以选用 background-color: rgba() 来实现,同样可以实现透明效果,并且

只应用于当前元素,不继承。而 IE 的 filter 有很多滤镜效果。其中的渐变滤镜,只要

变通一下,就可以实现我们想要的效果,并且这个滤镜不会被下级元素继承,这样元素

的内容就不会被虚化。代码如下:

  1. /*
  2. * filter 渐变滤镜详细用法,[参见这里]
  3. * StartColorStr 和 EndColorStr:
  4. *    #4c000000 是 30% 透明度的 #000000 的意思
  5. *    组成: # + 透明度 + 颜色
  6. *    算法: Math.floor(0.6 * 255).toString(16);
  7. */
  8. .rgba{
  9. background:rgba(0, 0, 0, 0.3);
  10. filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=‘#4c000000‘, EndColorStr=‘#4c000000‘);
  11. }

复制代码

不过,我们得到的效果是这样的,IE9 的透明度竟然有 60%!! 这显然不是我们想法

的。原因是:IE9 也支持 filter,使得 filter 的结果和 background-color 叠加,所以

是 60%。具体参见 DEMO 和示例图:

那么我们可以利用 IE 的 HACK,单独把 IE9 的 filter 变成透明度为 0 即可。高级浏

览器大部分支持 :root 伪类,但不支持 filter 属性,而 IE 只有 IE9 支持,所以我们可

以这样写。代码如下:

  1. :root .rgba{
  2. filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=‘#00000000‘, EndColorStr=‘#00000000‘);
  3. }

复制代码

当然,第二种方法可以应用于 background,也可应用于 border 上。整体的代码可参

时间: 2024-10-28 15:55:23

[技巧心得] 背景半透明最佳实践的相关文章

45个实用的JavaScript技巧、窍门和最佳实践

如你所知,JavaScript是世界上第一的编程语言,它是Web的语言,是移动混合应用(mobile hybrid apps)的语言(比如PhoneGap或者Appcelerator),是服务器端的语言(比如NodeJS或者Wakanda),并且拥有很多其他的实现.同时它也是很多新手的启蒙语言,因为它不但可以在浏览器上显示一个简单的alert信息,而且还可以用来控制一个机器人(使用nodebot,或者nodruino).掌握JavaScript并且能够写出组织规范并性能高效的代码的开发人员,已经

实用的JavaScript技巧、窍门和最佳实践

1 – 在第一次给一个变量赋值的时候不要忘记使用var关键字 给一个未定义的变量赋值会导致创建一个全局变量.要避免全局变量. 2 – 使用===,而不是== ==(或!=)操作符在需要的时候会自动执行类型转换.===(或!==)操作不会执行任何转换.它将比较值和类型,而且在速度上也被认为优于==. 1 2 3 4 5 6 7 8 [10] === 10    // is false [10]  == 10    // is true '10' == 10     // is true '10'

CSS 布局:40个教程、技巧、例子和最佳实践

前言: 布局是WEB开发一个重要的课题,进入XHTML/CSS后,使用TABLE布局的方式逐渐淡出,CSS布局以众多优点成为主流,本文将介绍40个基于CSS的web布局的资源和教程.文章的出处在hl.文中的不少的例子在一本经典的CSS书籍<CCS: The Missing Manual, 2nd Edition>中都可以找到,据我所知,第二版在中国没有翻译出版.你可以从这里下载英文版(不过需要注册个用户名) 正文 基于CSS的布局能提供更灵活布局方式和更强的用户视觉体验.一些重要技巧和关键点可

超有用的JavaScript技巧,窍门和最佳实践

超有用的JavaScript技巧,窍门和最佳实践 1. 首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量. 2. 使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型.但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快. [10] === 10 // is false [10] == 10 // is true '10' == 10 // is true '10' === 10 //

背景半透明rgba最佳实践

by 一丝 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>背景半透明rgba最佳实践</title> <style> </style> </head> <body> <div class="main"> <div class="demo demo1

css27】背景半透明rgba LESS实践

今天有看到司徒正美<背景半透明rgba最佳实践>的文章和里面推荐的一个在线工具CSS背景颜色属性值转换  . 于是联系到自己的less库,新技能Get. 内容如下: 1 /*在你的less库中加入以下代码*/ 2 //rgba创建兼容IE的rgba 3 #rgba(@r,@g,@b,@a){ 4 @c: rgba(@r,@g,@b,@a); 5 @c2 :argb(@c); 6 /* for IE9 IE8 IE7 not sure about IE6*/ 7 filter:~"pr

超实用的JavaScript技巧及最佳实践

众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现,比如NodeJS.Wakanda以及其它实现.此外,许多开发者都会把JavaScript选为入门语言,使用它来做一些弹出窗口等小东西. 在这篇文章中,作者将会向大家分享JavaScript开发的小技巧.最佳实践等非常实用的内容,不管你是前端开发者还是服务端开发者,都应该来看看这些小技巧,它们绝对会

[转] ADO.NET 的最佳实践技巧

这是我很早以前看过的微软的一篇文章,最近,一些网友问的问题很多理论都在里面,所以,整理一下放在这里,大家可以参考一下. 简介 本文为您提供了在 Microsoft ADO.NET 应用程序中实现和获得最佳性能.可伸缩性以及功能的最佳解决方案:同时也讲述了使用 ADO.NET 中可用对象的最佳实践:并提出一些有助于优化 ADO.NET 应用程序设计的建议. 本文包含: • 有关 .NET 框架包含的 .NET 框架数据提供程序的信息. • DataSet 和 DataReader 之间的比较,以及

【转】超实用的JavaScript技巧及最佳实践

众所周知,JavaScript是一门非常流行的编程语言,开发者用它不仅可以开发出炫丽的Web程序,还可以用它来开发一些移动应用程序(如PhoneGap或Appcelerator),它还有一些服务端实现,比如NodeJS.Wakanda以及其它实现.此外,许多开发者都会把JavaScript选为入门语言,使用它来做一些弹出窗口等小东西. 在这篇文章中,作者将会向大家分享JavaScript开发的小技巧.最佳实践等非常实用的内容,不管你是前端开发者还是服务端开发者,都应该来看看这些小技巧,它们绝对会