浏览器中含内联CSS的XML无法正常显示问题求助
XML内联CSS无法被浏览器解析的解决办法
你遇到的问题是因为现代浏览器不支持通过href="#s1"这种方式引用XML内部的样式定义,导致样式无法生效,内容只能以原始结构展示。以下是两种可行的解决方式:
方式一:使用外部CSS文件(推荐,兼容性最好)
将CSS代码单独存为外部文件,修改XML的样式指令指向该文件:
XML文件内容:
<?xml-stylesheet href="styles.css" type="text/css"?> <doc> <p>Some text... </p> <p warning="yes">A note... </p> </doc>
对应的styles.css文件内容:
p { display: block; } p[warning="yes"] { color: red; }
方式二:内联CSS(需用CDATA包裹)
如果必须在XML内部定义样式,需要用<style>标签包裹CSS内容,并放入CDATA块中,避免XML解析器误识别CSS语法:
<?xml-stylesheet type="text/css"?> <doc> <style type="text/css"><![CDATA[ style { display: none; } p { display: block; } p[warning="yes"] { color: red; } ]]></style> <p>Some text... </p> <p warning="yes">A note... </p> </doc>
注意:部分浏览器对XML内联样式的支持有限,优先选择外部CSS文件的方案。
内容的提问来源于stack exchange,提问作者user1182625
相关产品推荐
相关产品推荐

