本周末,我为一个虚构的网站制作了一个模板。我经常这样做,试图用最少的标记和非常简洁的CSS构建一个非常干净的编码网站模板。
我希望我的网站在将其交给客户之前完美验证。
我有两个问题(我想知道其他人如何建立一个完全有效的网站):http://validator.w3.org/check
我使用了一些CSS3属性(转换,box-shadow,border-radius等),这使得网站验证失败,因为验证器会检查CSS 2.1规范(我猜)。你们还有什么方法可以在CSS中传递带有这些属性的验证器吗?你是否将它们分开并将它们包装在有条件的评论中?
第二个是@import CSS方法。在我的标题中,我有一个名为main.css的样式表。在这个样式表中,我有这样的东西:
/*site structure*/
/*@import url("grid_system_960.css");*/
/*default style rules
@import url("layout.css"); */
/*navigation.css
@import url("navigation.css");*/
我只是这样做以保持CSS模块化和干净,但@import也失败了验证器。
有人有任何建议我可以采取改进我的结构/方法吗?
答案 0 :(得分:8)
我希望我的网站在将其交给客户之前完美验证。
停止。验证是一种工具,而不是竞争。如果你理解代码失败的原因以及你如何偏离规范的后果,那么这不是问题。
作为验证器使用CSS 2.1规范检查
第二个是@import CSS方法。
请勿在生产代码中使用此功能。它会增加HTTP请求的数量并减慢网站的速度。在发布之前合并和缩小CSS。
@import也失败了验证器
然后你使用它错了(可能是因为没有把它作为样式表中的第一件事)。 “在CSS 2.1中,任何@import规则必须先于所有其他规则(@charset规则除外,如果存在)。”