几年前,我见过很多使用background-image: url(xxx.png)
模拟渐变背景滤镜的CSS代码,
因为只有(请纠正,如果我在这里错了)IE专有过滤器将提供CSS渐变。
如今 - 请记住当今最常用的浏览器和便携式设备浏览器(智能手机/平板电脑),我应该使用:
OR
吗
我在一些CSS梯度生成器(即collorzilla)中看到IE9问题怎么样?
更新:对不起,我不是很清楚..我的问题是不是“如何这样做”,是关于更高效,可接受或正确的方式。谢谢!
答案 0 :(得分:3)
这是一个非常敏感的问题。在我工作的公司,我们根据客户和他们网站的观点进行了一些研究。结论是:IE8的用户很多。
有几种方法可以使渐变css工作,即我所知道的最好的一种方法是css3 pie:css3pie
然而,像素宽度或高度的图像格式圆角几乎不可忽视,唯一的问题是它会更多地生成请购单。
所以我的意见是使用css3pie ......它也可能适用于智能手机。
抱歉英文不好。
答案 1 :(得分:1)
所以我自己也有同样的问题,希望找到关于性能的最佳解决方案,我得出了以下结论:
Pro Gradient:
Pro Image:
这些是我能想到的因素,希望我没有留下任何重大的东西。至于我走的方向,我倾向于最终使用渐变,以获得前面提到的灵活性。带宽也是一个值得关注的问题,因为我经常让这些偏远地区的用户接待很多。
答案 2 :(得分:0)
你可以做HTML5 Boilerplate所做的事情:
<!DOCTYPE html>
<!--[if lt IE 7]><html class="lt-ie10 lt-ie9 lt-ie8 lt-ie7"><![endif]-->
<!--[if IE 7]> <html class="lt-ie10 lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]> <html class="lt-ie10 lt-ie9"><![endif]-->
<!--[if IE 9 ]> <html class="lt-ie10"><![endif]-->
<!--[if gt IE 9]><!--> <html class=""><!--<![endif]-->
现在你有一个<html>
的IE类:
IE6 - &gt; lt-ie10,lt-ie9,lt-ie8,lt-ie7
IE7 - &gt; lt-ie10,lt-ie9,lt-ie8,
IE8 - &gt; lt-ie10,lt-ie9
IE9 - &gt; LT-IE10
在你的CSS中:
.element { background-image: /*Your CSS3 gradient declaration */; }
.lt-ie10 { background-image: url(/*Your PNG file*/); }