CSS3跨浏览器线性渐变
以下代码的 Opera 和 IE 替代品是什么?
background-image: -webkit-gradient(linear, right top, left bottom, from(#0C93C0), to(#FFF));
background-image: -moz-linear-gradient(right, #0C93C0, #FFF);
注意,我已经测试了以下规则。所有浏览器都支持它们。但它们是垂直渐变。如何将它们修改为水平的?
background-image: -webkit-linear-gradient(top, #0C93C0, #FFF);
background-image: -moz-linear-gradient(top, #0C93C0, #FFF);
background-image: -ms-linear-gradient(top, #0C93C0, #FFF);
background-image: -o-linear-gradient(top, #0C93C0, #FFF);
background-image: linear-gradient(top, #0C93C0, #FFF);
What will be Opera and IE alternatives of following code?
background-image: -webkit-gradient(linear, right top, left bottom, from(#0C93C0), to(#FFF));
background-image: -moz-linear-gradient(right, #0C93C0, #FFF);
Note, I've tested following rules. All browsers supports them. But they are vertical gradients. How can I modify them to horizontal ones?
background-image: -webkit-linear-gradient(top, #0C93C0, #FFF);
background-image: -moz-linear-gradient(top, #0C93C0, #FFF);
background-image: -ms-linear-gradient(top, #0C93C0, #FFF);
background-image: -o-linear-gradient(top, #0C93C0, #FFF);
background-image: linear-gradient(top, #0C93C0, #FFF);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所有实验性 CSS 属性都会获得一个前缀:
-webkit-
用于 Webkit 浏览器(chrome、Safari)-moz-
用于 FireFox-o-
用于Opera-ms-
for Internet Explorer如果您想要不同的角度,请使用
top right
而不是right
。如果您想要水平渐变,请使用left
或right
。另请参阅:
线性渐变
Internet Explorer
对于
filter
适用于 IE6、IE7(和 IE8),而 IE8 推荐使用-ms-filter
(该值必须为引用)而不是过滤器。有关
Microsoft.Gradient
的更详细文档可在以下位置找到:http://msdn.microsoft.com/en-us/library/ms532997(v=vs.85).aspx-ms-filter
语法由于您是 IE 的粉丝,我将解释
-ms-filter
语法:除了使用 RGB HEX 颜色之外,您还可以使用ARGB 颜色格式。 A 表示 Alpha,FF 表示不透明,而
00
表示透明。GradientType
部分是可选的,整个表达式不区分大小写。All experimental CSS properties are getting a prefix:
-webkit-
for Webkit browsers (chrome, Safari)-moz-
for FireFox-o-
for Opera-ms-
for Internet ExplorerUse
top right
instead ofright
, if you want a different angle. Useleft
orright
if you want a horizontal gradient.See also:
linear-gradient
Internet Explorer
For <IE10, you will have to use:
filter
works for IE6, IE7 (and IE8), while IE8 recommends the-ms-filter
(the value has to be quoted) instead offilter
.A more detailled documentation for
Microsoft.Gradient
can be found at: http://msdn.microsoft.com/en-us/library/ms532997(v=vs.85).aspx-ms-filter
syntaxSince you're a fan of IE, I will explain the
-ms-filter
syntax:Instead of using a RGB HEX color, you can also use a ARGB color format. A means alpha, FF means opaque, while
00
means transparent. TheGradientType
part is optional, the whole expression is case-insensitive.这是一个适用于 Opera、Internet Explorer 和许多其他 Web 浏览器的示例。如果浏览器不支持渐变,它将显示正常的背景颜色。
我从这个网站上偷了这个。 Microsoft 在此处构建了自己的生成器。
Here an example, which works with Opera, Internet Explorer and many other web browsers. If a browser does not support gradients, it will show a normal background color.
I've stolen this from this website. Microsoft has built their own generator here.
Rob W 的回答很全面,同时也很冗长。因此,我想在 2014 年底提供一个支持当前浏览器的摘要,同时确保一些向后兼容性,仅忽略 IE6/7 渲染线性渐变和早期渲染的无效能力。 Webkit (Chrome1-9, Saf4-5 特殊方式(
-webkit-gradient( 线性, 左上, 左下, color-stop( 0, #0C93C0 ), color-stop( 100%, #FFF ) );
)标准语法 已从开始渐变位置更改为到
方向
,例如background-image:线性渐变(到底部,#0C93C0, #FFF );
广泛支持、易于阅读的 CSS:
一个有趣的事实是,网络上的大多数博客文章和浏览器渐变工具,例如著名的 ColorZilla 的“< a href="http://www.colorzilla.com/gradient-editor/" rel="nofollow">终极 CSS 渐变生成器" 包含 MS 供应商前缀
-ms-线性梯度
值。它从 Internet Explorer 10 Consumer Preview 开始受支持。但是,当您包含标准值
线性渐变
时, Internet Explorer 10 Release Preview 可以正确呈现它。因此,通过包含
-ms-linear-gradient
和标准方式,以及-ms
,您实际上只是解决了 IE10 Consumer Preview 问题,这可以归结为 您的听众中没有人。Rob W's answer is comprehensive, at the same time verbose. Therefore I'd like to go for a summary supporting current browsers end of 2014, while ensuring some backwards-compatibility at the same time, leaving out just IE6/7's invalid capability of rendering a linear gradient and early Webkit (Chrome1-9, Saf4-5 special way (
-webkit-gradient( linear, left top, left bottom, color-stop( 0, #0C93C0 ), color-stop( 100%, #FFF ) );
)Standards syntax has changed from beginning gradient position to
to direction
, e.g.background-image: linear-gradient( to bottom, #0C93C0, #FFF );
Widely-supported, easy-to-read CSS:
An interesting side fact is, that most blog posts and browser gradient tools on the web, like f.e. famous ColorZilla's "Ultimate CSS Gradient Generator" include the MS vendor-prefixed
-ms-linear-gradient
value.It's supported from Internet Explorer 10 Consumer Preview on. But when you're including standards value
linear-gradient
, Internet Explorer 10 Release Preview renders it appropriately.So by including
-ms-linear-gradient
and standards way, with-ms
you're actually addressing just IE10 Consumer Preview, which comes down to nobody in your audience.我几乎找到了所有问题的解决方案!
I got the solution for almost everything!