1

当我尝试通过 CSS3 W3.org Validator 验证我的 Gradient css 时,它显示错误

对不起!我们发现了以下错误(5)

我的代码是

background: linear-gradient(top, #1e5799 0%,#2989d8 50%,#207cca 51%,#7db9e8 100%);

错误http://www.freeimagehosting.net/uy82i

4

5 回答 5

5

好吧,Rizwan,首先,您使用的网站http://jigsaw.w3.org/css-validator/#validate_by_input不完全支持 CSS3。

来自:关于 CSS 验证器

那么,这是关于什么是正确的 CSS 什么不是的权威?

不。它是一个有用且可靠的工具,但它是一个软件工具,并且像所有软件一样,它也有一些错误和问题。层叠样式表的实际参考是 CSS 规范。

默认情况下,此验证器会根据 CSS 2.1 规范中定义的语法、属性和值检查样式表,但可以使用选项检查其他 CSS 配置文件。

如果您查看错误和问题,您会发现以下错误:linear-gradient as a background-image,它无法识别线性渐变。

-webkit-gradient 是特定于浏览器的,w3.org 验证器将无法识别它。

最后的建议,不要过分依赖验证器,它们可能会帮助您发现错误,但它们并非 100% 正确。对于 CSS3,最好在浏览器中测试这些属性并查看它们是否正常工作。

于 2012-05-30T04:50:09.030 回答
2

W3 渐变在 -webkit-gradient 上给你错误,因为它只支持谷歌浏览器 w3.org 只验证那些在所有浏览器中验证的样式,如字体、宽度、高度

于 2012-05-31T07:07:23.193 回答
1

你所拥有的很好。它引发这些错误的唯一原因是它尚未最终确定,因此验证者认为这不存在。您可以尝试从令人印象深刻的webse.com中尝试不同的浏览器支持。如果你这样做,它会在网站上运行它只是不会认为它在验证器中是正确的,因为那个命令的东西还没有最终确定。希望这有帮助!伊桑·布劳威尔

于 2012-06-04T12:19:05.023 回答
1

听听人们在告诉你什么;linear-gradient 还不是 CSS3 规范的一部分,因此它被正确地标记为无效代码。

多个浏览器已经实现了他们自己的标签版本(moz-、webkit-等),因此他们可以及早提供这些功能。一旦线性渐变完全设计并被 CSS3 规范接受,这些供应商特定的前缀将消失,线性渐变在 W3C 验证工具中将不再无效。

在那之前,您所能做的就是提供特定于供应商的标签、CSS3 标准标签和旧浏览器后备。此外,根据您的判断,与您的客户进行友好的聊天可以大有帮助。尝试解释您正在使用的前沿代码确实为使用旧浏览器的用户提供了优雅的回退(它是对的吗?)。

于 2012-06-04T23:47:54.670 回答
0

它显示一个错误,因为-webkit-gradient它不是由 CSS3 定义的。它特定于基于 WebKit 的浏览器,例如 Chrome。

尝试linear-gradient改用。但是,目前我所知道的浏览器都没有支持它。

任何以-webkit--moz--o-或开头的内容-ms-都特定于浏览器。他们这样做是为了支持尚未最终确定的新功能或规范。

http://www.colorzilla.com/gradient-editor/是创建跨浏览器渐变的绝佳工具。

于 2012-05-29T16:24:28.380 回答