文档类型不允许元素“样式”在这里?

时间:2011-11-21 12:50:39

标签: html css w3c-validation

是否可以通过在我们的模板页面中提供样式来验证我们在w3中的html。 我正在使用zend。在我的模板phtml文件中,我有像

这样的样式
<style type="text/css">
    .re_mid li{
         list-style: none outside none;
}
</style>

所以这在验证失败时说“document type does not allow element "style" here”,这意味着我们应该在<HEAD>标签内写下我们的风格 即使我在<BODY>标记内添加样式,是否可以通过验证, 就像我们使用<script>//<![CDATA[ .... //]]></script>

一样

5 个答案:

答案 0 :(得分:4)

没有。 HTML specification州:

  

STYLE元素允许作者将样式表规则放在头部   该文件。 HTML允许HEAD中的任意数量的STYLE元素   文件的一部分。

如果您尝试包含外部样式表,link元素也是如此。

如果您想使用style元素,则必须将其放在head中。如果你需要在body中定义样式,你最好的选择可能是使用内联样式。

答案 1 :(得分:1)

您可以在<body></body>部分中使用内嵌样式,但是您要定义文档范围样式,因此需要位于<head></head>部分内。

答案 2 :(得分:1)

HTML规范明确规定样式元素将放置在头部内部。所以,不,你不能把它放在体内,仍然可以验证。

答案 3 :(得分:0)

我设法使用jQuery传递验证,因为我只能在模板文件中插入样式:

<script type="text/javascript">  
//<![CDATA[
var style = jQuery('<style type="text/css">'+<?php echo json_encode($style); ?>+'</style>');
jQuery('html > head').append(mb_popup_style);
//]]>
</script>

答案 4 :(得分:0)

是的,您现在可以将scope属性添加到样式标记中以使其验证,例如。

<style scope>
.re_mid li{
     list-style: none outside none;
}
</style>