Html CSS渐变与背景图像?

Html CSS渐变与背景图像?,html,css,Html,Css,几年前,我看到很多CSS代码使用背景图像:url(xxx.png)模拟渐变背景过滤器, 因为只有(请纠正,如果我错了这里)IE专有过滤器将提供CSS梯度 现在-记住当今最常用的浏览器和便携式设备浏览器(智能手机/平板电脑),我应该使用: CSS渐变,每个引擎有一个背景属性 或 背景图片:url(xxx.png),1个小图片(但仍然是浏览器请求) ? 那个么我在一些CSS梯度生成器(即collorzilla)中看到的IE9问题呢 更新:对不起,我不是很清楚。。我的问题不是“如何做到这一点”

几年前,我看到很多CSS代码使用
背景图像:url(xxx.png)
模拟渐变背景过滤器, 因为只有(请纠正,如果我错了这里)IE专有过滤器将提供CSS梯度

现在-记住当今最常用的浏览器和便携式设备浏览器(智能手机/平板电脑),我应该使用:

  • CSS渐变,每个引擎有一个背景属性

  • 背景图片:url(xxx.png),1个小图片(但仍然是浏览器请求)

那个么我在一些CSS梯度生成器(即collorzilla)中看到的IE9问题呢


更新:对不起,我不是很清楚。。我的问题不是“如何做到这一点”,而是关于哪种方法更有效,可以接受,或者正确的方法。谢谢

这是一个非常敏感的问题。在我工作的公司,我们根据客户及其网站的观点进行了一些研究。结论是:IE8有很多用户

有几种方法可以使渐变css在ie中工作,我所知道的最好的方法之一是css3派:

然而,一个像素宽度或高度的图像格式圆角的重量几乎微不足道,唯一的问题是它会产生更多的请求

所以我的想法是使用css3pie。。。它可能也适用于智能手机


对不起,英语不好。

这是一个非常敏感的问题。在我工作的公司,我们根据客户及其网站的观点进行了一些研究。结论是:IE8有很多用户

有几种方法可以使渐变css在ie中工作,我所知道的最好的方法之一是css3派:

然而,一个像素宽度或高度的图像格式圆角的重量几乎微不足道,唯一的问题是它会产生更多的请求

所以我的想法是使用css3pie。。。它可能也适用于智能手机


很抱歉英语不好。

你可以像HTML5样板一样:

<!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]-->

您可以做HTML5样板的工作:

<!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]-->

因此,我自己也有同样的问题,希望找到关于绩效的最佳解决方案,我得出以下结论:

支持梯度:

  • 图像可能会占用带宽,因此首次获取图像时可能需要更长的时间。尽管如此,重要的是要记住,浏览器会缓存这些文件,而对于格式正确的图像,这仍然不是一个问题。最大的影响可能是在互联网接收有问题的偏远地区首次登录的临时用户
  • 渐变元素更灵活。图像可能依赖于硬编码的尺寸在它们定义的元素中正确显示,而渐变可以更好地适应环境
  • <> LI>在灵活性的精神中,你也可以认为它不仅仅是可以被修改的维度,当通过JavaScript将其设置为即时时,你将对背景本身有更多的控制。
专业图像:

  • 渐变对于浏览器来说更难显示。您要求浏览器自行构建图像,而不是显示已制作的图像。这在较旧或功能较差的设备上可能是一个问题,因为它们的运行速度可能不如您所希望的快或好
  • 图像可以允许更复杂的图案(例如:你想要一个围绕三角形的渐变)。根据你要做的,渐变可以实现,但是CSS可能会很快变得复杂

这些都是我能想到的因素,希望我没有遗漏什么。至于我去的方向,我倾向于使用梯度,因为前面提到的灵活性。带宽也是一个值得关注的问题,因为我经常有用户在这些偏远地区接收信号不稳定。

所以我自己也有同样的问题,希望找到性能方面的最佳解决方案,我得出了以下结论:

支持梯度:

  • 图像可能会占用带宽,因此首次获取图像时可能需要更长的时间。尽管如此,重要的是要记住,浏览器会缓存这些文件,而对于格式正确的图像,这仍然不是一个问题。最大的影响可能是在互联网接收有问题的偏远地区首次登录的临时用户
  • 渐变元素更灵活。图像可能依赖于硬编码的尺寸在它们定义的元素中正确显示,而渐变可以更好地适应环境
  • <> LI>在灵活性的精神中,你也可以认为它不仅仅是可以被修改的维度,当通过JavaScript将其设置为即时时,你将对背景本身有更多的控制。
专业图像:

  • 渐变对于浏览器来说更难显示。您要求浏览器自行构建图像,而不是显示已制作的图像。这在较旧或功能较差的设备上可能是一个问题,因为它们的运行速度可能不如您所希望的快或好
  • 图像可以允许更复杂的图案(例如:你想要一个围绕三角形的渐变)。根据你要做的,渐变可以实现,但是CSS可能会很快变得复杂

这些都是我能想到的因素,希望我没有遗漏什么。至于我去的方向,我倾向于使用梯度,因为前面提到的灵活性。带宽也是一个问题,因为我经常在这些偏远地区有用户接收不到任何信息。

您还可以在CSS本身(DataURL)中提供渐变图像,这样可以删除额外的浏览器请求@