当前位置: 首页 > 面试题库 >

CSS3跨浏览器线性渐变

裴泰平
2023-03-14
问题内容

以下代码的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);

问题答案:

background-image: -ms-linear-gradient(right, #0c93C0, #FFF);
background-image: -o-linear-gradient(right, #0c93C0, #FFF);

所有实验CSS属性都获得一个前缀:

  • -webkit- 适用于Webkit浏览器(Chrome,Safari)
  • -moz- 用于FireFox
  • -o- 歌剧
  • -ms- 用于Internet Explorer
  • __完全不符合规范的实现 没有前缀

如果要改变角度,请使用top right代替right。如果需要水平渐变,请使用leftright

也可以看看:

  • MDN: linear-gradient

IE浏览器

对于<IE10,您将必须使用:

/*IE7-*/ filter: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#0c93c0', endColorStr='#FFFFFF', GradientType=0);
/*IE8+*/ -ms-filter: "progid:DXImageTransform.Microsoft.Gradient(startColorStr='#0c93c0', endColorStr='#FFFFFF', GradientType=0)";

filter适用于IE6,IE7(和IE8),而IE8建议使用-ms-filter(必须加引号)代替filterMicrosoft.Gradient可以在以下位置找到更详细的文档

-ms-filter 句法

由于您是IE的粉丝,因此我将说明-ms-filter语法:

-ms-filter: progid:DXImageTransform.Microsoft.Gradient(
     startColorStr='#0c93c0', /*Start color*/
     endColorStr='#FFFFFF',   /*End color*/
     GradientType=0           /*0=Vertical, 1=Horizontal gradient*/
);

除了使用RGBHEX颜色之外,还可以使用ARGB颜色格式。表示alpha,FF表示不透明,而00表示透明。该GradientType部分是可选的,整个表达式不区分大小写。



 类似资料:
  • 问题内容: 专业的网页设计师如何创建跨浏览器的CSS?通常是手动完成,还是像YUI针对JavaScript那样可以简化流程的工具包?我希望远离Dreamweaver之类的所见即所得编辑器。谢谢! 问题答案: 通常是手工完成的。 通常从对比赛场地应用CSS重置开始。 而且,您应该针对符合标准的CSS,然后作为对IE的最后手段,才可以使用hacks(是的,我刚刚说过)。

  • 问题内容: Webkit的过渡结束事件称为webkitTransitionEnd,Firefox为transitionEnd,歌剧为oTransitionEnd。用纯JS处理所有这些的好方法是什么?我应该浏览器嗅探吗?还是分别实施?我还没有发生过其他事情? 即: 要么 问题答案: Modernizr中使用了一项技术,对它进行了改进: 然后,只要需要过渡结束事件,就可以调用此函数:

  • 问题内容: 我正在从Firefox 3.5开始为新服务开发Web应用程序。 界面设计是无表的,仅使用divs + CSS和性能良好的做法。 现在,尽管与Safari兼容仅花费了很少的时间,但IE还是很痛苦。 我的问题是:有什么可以用来加速跨浏览器检查的吗?例如,我已经知道FF和IE之间的许多区别,但是使用特定工具可能会有所帮助。 你能建议一个吗? 谢谢, 猩红 问题答案: 跨浏览器开发 没有工具可

  • 问题内容: 我需要创建一个侧面带有三角形的按钮(例如 **http://css-tricks.com/triangle-breadcrumbs/** ),并带有线性垂直渐变和边框,并且我想使用纯CSS3。我需要45度的“三角形”就可以了,我只是这样写 并将该伪元素的一半隐藏在.button下(因此,只有另一半可见,如三角形)。 但是,如果我需要另一个角度(例如,更陡峭的角度),则无法使用标准XY进

  • 问题内容: 我已经阅读了许多关于此的文章,但没有一个有任何明确的答案。这是我的代码: 现在,setAttribute()方法(带有mozilla注释)在mozilla中可以正常工作,但前提是该方法位于其上方的行之后。因此,换句话说,它似乎默认为最后设置的那个。.onclick方法(带有ie注释)在两种情况下均不起作用,我使用不正确吗? 无论哪种方式,我都找不到在IE中完全实现此功能的方式,更不用说

  • 问题内容: 我正在尝试使用HTML5联机和脱机事件来准确检测浏览器何时脱机。 这是我的代码: 当我在Firefox或IE上单击“脱机工作”时,它工作正常,但是当我拔掉电线时,它是随机工作的。 检测此更改的最佳方法是什么?我想避免重复超时的ajax调用。 问题答案: 浏览器供应商无法就如何离线定义达成一致。某些浏览器具有“脱机工作”功能,他们认为这与缺少网络访问权限是分开的,这又不同于Interne