IE6支持PNG格式图片的CSS滤镜写法

2016-02-19 21:23 8 1 收藏

今天图老师小编给大家精心推荐个IE6支持PNG格式图片的CSS滤镜写法教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - Web开发 】

  之前一直在用 gif 图片或者用和背景色相同的 jpg 图片回避 IE6 不支持 PNG 图片背景色透明的 BUG,不过在做大菠萝3(Diablo III)主题时不愿放弃自己一个比较酷的 Idea,所以我还是决定要解决这个 BUG。

  网上关于解决 IE6 这个 BUG 的方法很多,有用 JS 的,也有用 IE6 的 CSS 滤镜的。稍微看了一下,JS 的方法仅用于单个图片的效果,但若拿图片作背景则不行。CSS 滤镜的写法则简单很多,也能用作背景,但还是存在一个问题,图片的地址只能使用“绝对地址”,而我们在模板的 CSS 样式表里使用的大多是相对地址,虽然也可以使用绝对地址,但是不同的用户使用该模板的话就必须修改其绝对地址,对于不懂 CSS/HTML 的人来说,无疑这是一道“坎”。不过后来猫猫的一句话让我如梦初醒——可以把这段 CSS 写在 head 里,这样就可以用 Wordpress 自己的 PHP 语句来调用绝对地址了!

  让 IE6 支持 PNG 图片背景透明的 CSS 滤镜写法如下:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

*html #image-style {
background-image: none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(src="filename.png", sizingMethod="scale");
}

  这里我写了一个实例:http://zeuscn.net/download/ie6png.html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  使用 Firefox 和 IE7 浏览器看的话,2张图片没有区别,但使用 IE6 核心的浏览器看的话会发现第一张图片有白色背景——第一张图片是直接添加而没有使用滤镜。

#test {
background:url(h2-bg.png) no-repeat;
*background-image: none;
*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(src="http://zeuscn.net/download/h2-bg.png", sizingMethod="scale");
height:85px;
width:66px;
}

  我们可以从实例中的代码看到,由于 HTML 文件和图片 h2-bg.png 位于相同目录,所以这里的背景链接我是使用的相对地址。而下面的 CSS 滤镜我使用的是绝对地址。这里我为了兼容 Firefox IE6 和 IE7 我使用了 Hack 的写法:属性前添加 “*” ——只让 IE 核心的浏览器识别。

  那么在 Wordpress 模板的 head 标签内的 CSS 样式表调用之后,添加了下面的样式代码来绕过在样式表内使用绝对地址的问题:

link href="?php bloginfo('stylesheet_directory'); ?/style.css" rel="stylesheet" type="text/css" /
style
.post .title-bg {
height:85px;
width:65px;
*filter:progid:DXImageTransform.Microsoft.AlphaImageLoader
(src="?php bloginfo('stylesheet_directory'); ?/images/h2-bg.png", sizingMethod="scale");
position:absolute;
}
/style

  这个效果的具体样式是什么样的呢?嘿嘿,主题发布之日就能揭晓了~

来源:http://www.tulaoshi.com/n/20160219/1626045.html

延伸阅读
标签: Android
安卓7.0支持机型   Nexus升级Android 7.0的升级安排, 3月: Android N developer preview 1 (alpha) 4月: Android N developer preview 2 (beta) 5月: Android N developer preview 3 (beta) 6月: Android N developer preview 4 (含最终版APIs和SDK) 7月: Android N developer preview 5 (准(www.tula...
标签: Web开发
一、CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.) style #wrapper { width: 100px!important; /* IE7+FF */ width: 80px; /* IE6 */ } /style 2, IE6/IE77对FireFox *+html 与 *html 是IE特有的标签, firefox 暂不支...
标签: Android
Android 4.3支持哪些机型 谷歌正式发布期待已久的Android 4.3果冻豆操作系统,旧款Nexus 7, Nexus 4, Nexus 10 和 Galaxy Nexus 已收到Android 4.3 推送,此外Galaxy S4 Google Play 版和 HTC One Google Play 版会很快获得更新。 Android4.3系统是目Tulaoshi.com前最新的安卓系统,本次的升级主要带来了四大特性: 1.多用...
标签: Web开发
本人专业是做UI的,写CSS已经有好几年了,目前刚刚在博客发布关于CSS的文章,欢迎有问题的朋友在有问必答论坛提问,我一定尽力解答。 1 针对firefox ie6 ie7的css样式 现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针对IE7不错的hack方式就是使...
标签: Web开发
在ie 6中可以先写CSS再加import比如 p {} @import url("base.css"); 但在浏览器里死活是渲染不出来. 用抓包工具跟踪, 根本就没有请求... 如果去掉上面的p选择符,或者放到import下方就可以渲染, 按标准来说import是要放首行的,但aoao说IE6是可以先放其它的CSS再加import的. @import url("base.css"); p {} 如果我再...

经验教程

159

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部