如何防止 W3C Validator 解析内部 CSS?
How to prevent W3C Validator from parsing internal CSS?
W3C Validator 并不总是解析内部 CSS。我知道这一点是因为,就在最近,以前既没有错误也没有警告的页面现在有了 新发现的 CSS 错误。
因此,我的问题是:W3C Validator 是否存在任何忽略代码,类似于
<!--googleoff: all--><!--googleon: all-->
for Google,以防止 W3C 解析内部 CSS?
样本"Internal"CSS代码:
<style>
@-ms-viewport
{
width:device-width;
}
button, input[type="button"], input[type="submit"], input[type="reset"]
{
padding-top:8px !important;
padding-right:14px !important;
padding-bottom:9px !important;
padding-left:14px !important;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
-moz-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-webkit-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-khtml-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-webkit-border-radius:2px;
-moz-border-radius:2px;
-khtml-border-radius:2px;
border-radius:2px;
border-width:1px;
border-style:solid;
border-color:#BCBCBC;
background:#f0f0f0;
background:-moz-linear-gradient(top, #f0f0f0 0%, #E0E0E0 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f0f0), color-stop(100%,#E0E0E0));
background:-webkit-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:-o-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:-ms-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:linear-gradient(to bottom, #f0f0f0 0%,#E0E0E0 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f0f0', endColorstr='#E0E0E0',GradientType=0 );
color:#535353 !important;
font-size:0.928em !important;
font-weight:normal !important;
line-height:normal !important;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:focus, input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus
{
background:#f8f8f8;
background:-moz-linear-gradient(top, #f8f8f8 0%, #E1E1E1 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#E1E1E1));
background:-webkit-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:-o-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:-ms-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:linear-gradient(to bottom, #f8f8f8 0%,#E1E1E1 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#E1E1E1',GradientType=0 );
}
button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active
{
-moz-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
-webkit-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
-khtml-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
background:#E0E0E0;
text-decoration:none !important;
}
</style>
当使用 https://validator.w3.org/, you’ll get redirected to https://validator.w3.org/nu/ 检查 HTML5 文档时,后者可能是您正在使用的验证器。
WHATWG 的 HTML 规格 introduced this requirement for the content of a style
element:
The child text content of a style
element must be that of a conformant style sheet.
这意味着:如果您想要一个有效的 WHATWG-HTML 文档,您在 style
元素中的 CSS 也需要有效。 以前不是这种情况。
但是,截至 2017 年 12 月 26 日,W3C 的 HTML 规范对 style
element 没有此要求。除非他们也添加该要求,否则 W3C-HTML 文档仍然有效,即使它们在 style
元素中包含无效的 CSS 也是如此。那么 W3C 托管的验证器实例可能会禁用此 CSS 检查功能。
(前几天,一个用户asked for a switch in the validator to disable checking the CSS。维护者"will look into this"。)
W3C Validator 并不总是解析内部 CSS。我知道这一点是因为,就在最近,以前既没有错误也没有警告的页面现在有了 新发现的 CSS 错误。
因此,我的问题是:W3C Validator 是否存在任何忽略代码,类似于
<!--googleoff: all--><!--googleon: all-->
for Google,以防止 W3C 解析内部 CSS?
样本"Internal"CSS代码:
<style>
@-ms-viewport
{
width:device-width;
}
button, input[type="button"], input[type="submit"], input[type="reset"]
{
padding-top:8px !important;
padding-right:14px !important;
padding-bottom:9px !important;
padding-left:14px !important;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
-moz-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-webkit-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-khtml-box-shadow:0px 1px 2px rgba(159,159,159,0.5);
box-shadow:0px 1px 2px rgba(159,159,159,0.5);
-webkit-border-radius:2px;
-moz-border-radius:2px;
-khtml-border-radius:2px;
border-radius:2px;
border-width:1px;
border-style:solid;
border-color:#BCBCBC;
background:#f0f0f0;
background:-moz-linear-gradient(top, #f0f0f0 0%, #E0E0E0 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f0f0f0), color-stop(100%,#E0E0E0));
background:-webkit-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:-o-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:-ms-linear-gradient(top, #f0f0f0 0%,#E0E0E0 100%);
background:linear-gradient(to bottom, #f0f0f0 0%,#E0E0E0 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f0f0f0', endColorstr='#E0E0E0',GradientType=0 );
color:#535353 !important;
font-size:0.928em !important;
font-weight:normal !important;
line-height:normal !important;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover, input[type="reset"]:hover, button:focus, input[type="button"]:focus, input[type="submit"]:focus, input[type="reset"]:focus
{
background:#f8f8f8;
background:-moz-linear-gradient(top, #f8f8f8 0%, #E1E1E1 100%);
background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#E1E1E1));
background:-webkit-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:-o-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:-ms-linear-gradient(top, #f8f8f8 0%,#E1E1E1 100%);
background:linear-gradient(to bottom, #f8f8f8 0%,#E1E1E1 100%);
filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8f8f8', endColorstr='#E1E1E1',GradientType=0 );
}
button:active, input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active
{
-moz-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
-webkit-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
-khtml-box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
box-shadow:inset 0px 1px 2px rgba(205,205,205,1);
background:#E0E0E0;
text-decoration:none !important;
}
</style>
当使用 https://validator.w3.org/, you’ll get redirected to https://validator.w3.org/nu/ 检查 HTML5 文档时,后者可能是您正在使用的验证器。
WHATWG 的 HTML 规格 introduced this requirement for the content of a style
element:
The child text content of a
style
element must be that of a conformant style sheet.
这意味着:如果您想要一个有效的 WHATWG-HTML 文档,您在 style
元素中的 CSS 也需要有效。 以前不是这种情况。
但是,截至 2017 年 12 月 26 日,W3C 的 HTML 规范对 style
element 没有此要求。除非他们也添加该要求,否则 W3C-HTML 文档仍然有效,即使它们在 style
元素中包含无效的 CSS 也是如此。那么 W3C 托管的验证器实例可能会禁用此 CSS 检查功能。
(前几天,一个用户asked for a switch in the validator to disable checking the CSS。维护者"will look into this"。)