哪个更有效率:
我正在尝试找出提供半透明背景的哪种方法更有效/更快:
background-color: rgba(255, 255, 255, .12);
或
background-image: url('/path/to/semi-transparent/pixel.png');
找不到任何资源。
我知道background-color
不需要HTTP请求,而background-image
需要更多的处理。
指出:
兼容性是一个大问题,因为我(没有人真的应该)不能放弃对<IE8。>
许多答案/评论都提到background-color: rgba
更快,更有效,但background-image
更兼容友好。如果是这样(还没有看到任何困难的测试),那么:除了使用像Modernizr这样的库之外,还有其他可行的解决方案吗?例如(这不能工作,因为它同时做这两个-但寻找沿着这些行的东西)
background: rgba(255, 255, 255, .12) url('/path/to/semi-transparent/pixel.png');
第一个肯定会更快。使用图像将使用额外的HTTP请求来获取它,并且图像的大小会影响加载时间。使用十六进制颜色值而不是rgb也会更好,因为浏览器最终会将rgb转换为十六进制。
我认为第一种方法更高效、更快速。后者是一个更兼容的选项,如果第一种更有效的方法不能在你希望它工作的浏览器上工作,应该使用它。