我正在寻找任何替代方法来产生垂直线性渐变(两种颜色),从顶部的深色开始,一直到底部的浅色。
这些方法适用于 IE9 和 IE8。
碰巧,我已经尝试了CSS属性filter
,但无济于事。它似乎不想在IE9或更低版本中工作,无论如何我最好使用不同的方法。
我已经尝试过 ColorZilla 的渐变生成器,它也提供了 SVG 方法,但我不知道从哪里开始,因为它只是一个随机的字母数字字符字符串,我无法理解。
请让我强调,我不想要任何形式的 JS/jQuery 方法或任何类型的插件,因为我试图让我的 UI 对那些禁用脚本的人友好。
我只是在寻找可以使用的任何其他 CSS 方法?
谢谢迪伦。
编辑
这是该问题的一个活生生的例子。痕迹导航当前位置的渐变不会显示在 IE9 或更低版本中。
以下是 IE6-IE9 中梯度的正确 CSS。
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#4096ee',GradientType=0 );
实际上没有替代方案 - 这是正确的CSS。
如果您遇到困难,请使用在线生成器,例如:http://gradients.glrzad.com/http://www.colorzilla.com/gradient-editor/
您不需要 SVG 方法,该方法仅适用于多档渐变。对于简单的渐变,例如您需要的(从浅到暗,从上到下),那么生成器将非常适合您。
的回答是,试图在IE<=9中做渐变是一种痛苦。
filter
方法很糟糕(并且也有一些令人讨厌的错误)。SVG方法很难使用,带宽很大,无论如何它只处理IE9。
您拥有的唯一合理的解决方案是:
只要接受IE<=9不会做渐变,并为它们提供一个合理的纯色回退。
扔掉所有漂亮的CSS渐变,改用旧的PNG背景图形。
吞下你的反JS库偏见并使用CSS3Pie库。
就个人而言,我会选择选项 3。您始终可以为关闭 JS 的用户提供纯色回退。
如果你真的不准备这样做,那么恐怕你唯一剩下的合理解决方案就是老式的背景图像。
答案归于@davidpauljunior。
我认为这与标签有关。如果添加 CSS 规则显示:内联块,则渐变会显示。
干杯伙计们!