我已经读到了很多有关这一点的文章,所以我希望对它进行明确的排序。
如果我在HTML文档中内嵌了SVG标记,并且正在使用CSS进行样式设置,是否需要将该CSS封装在注释为CDATA的地方?
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512 512">
<style type="text/css">
/* <![CDATA[ */
.some_styles {}
/* ]]> */
</style>
<!-- SVG content here -->
</svg>
</body>
</html>
我想可能会出现诸如https://codesandbox.io/s/pjorxzyrx7被误解为XML右括号的问题,并且我读过很多人的建议,他们建议使用注释掉的CDATA内联SVG样式 CSS child combinator < / sup> 1 。但是,令我惊讶的是,我发现即使删除了CDATA并使用了子组合器,我的HTML还是得到了验证。除此之外,我无法在任何现代浏览器中检测到SVG呈现的任何问题。
2在SE上讨论过有关在<script>
标签中包含CDATA的内容,但这与<svg>
并不相同,因此看来这是一个自己的问题。>
我不介意包括它,这样做不会造成任何麻烦。我只是想知道我是在做正确的事情还是不必要的事情。