Spo*_*ace 6 html css validation xhtml
我正在开发一个框架,该框架使用图像控制器从webroot外部的目录加载所有图像,这包括CSS中使用的图像.例如:
background: #FFF url(example.org/index.php?sect=loadimg&img=branding.jpg) top left repeat-x;
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但我的xhtml验证器不喜欢CSS中的&符号用法,而使用&它根本不起作用.那么有人会知道在样式表中使用这样的&符号是否合法吗?如果没有,有没有其他方法来完成相同的图像请求?
Bol*_*ock 10
只有在您针对XHTML文档类型进行验证时,验证者才会投诉.在普通HTML(4.01和5)中,非转义HTML字符<style>和<script>元素仍应被视为有效.
理想的解决方案是将CSS移动到外部样式表,并使用<link>或者包含它@import.
但是,如果样式必须位于<style>标记中,则可以在标记中添加CDATA部分<style>:
<style type="text/css">
/* <![CDATA[ */
/* Your CSS here */
/* ]]> */
</style>
Run Code Online (Sandbox Code Playgroud)
这将导致该部分中的所有HTML特殊字符按字面处理,并且您的XHTML文档将进行验证.
请注意,CDATA部分分隔符只是<![CDATA[和]]>; 它们包含在/*CSS注释中,*/因此浏览器不会尝试将它们解释为CSS.
规范涵盖了 XHTML中的CDATA部分.