2015-11-29 84 views
0
<!doctype html> 
<html> 
<title>some title</title> 
<link href="index.css" rel="stylesheet"> 
<style> 
// some styles... 
</style> 

<body> 
<style> 
// some styles... 
</style> 
... 

</body 
</html> 

使用w3c validation service我已经得到了错误:风格缺少必需的属性

Element style is missing required attribute

缺少什么?

+1

我不得到这个错误消息。我收到消息“元素样式缺少必需的属性作用域”,这是非常明显的。 –

回答

2

问题是,<style>是内部body

<!doctype html> 
<html> 
<title>some title</title> 
<link href="index.css" rel="stylesheet"> 
<style> 
// some styles... 
</style> 
<body> 


</body> 
</html> 

或者你可以使用scoped属性,它可以让你放置<body>元素中<style>标签,但跨浏览器的兼容性还是真的坏http://caniuse.com/#search=scoped

<!doctype html> 
<html> 
<title>some title</title> 
<link href="index.css" rel="stylesheet"> 
<style> 
// some styles... 
</style> 
<body> 
<style type="text/css" scoped> 
// some styles... 
</style> 
</body> 
</html> 
+0

通过从'body'中移除'style'来解决。非常感谢 – bonaca

-2

我相信你的标签应该具有类型=“文/ CSS”属性。

+0

这是HTML 4格式。这是一个HTML 5文档。 – Quentin

+0

@Quentin你怎么能说它的HTML 5文档? – Vivek

+0

@VVK - 它不是HTML5文档。没有这样的事情。这是一个的被验证,HTML5标准的HTML文件,因为这是对具有前导'文档的默认<!DOCTYPE HTML!>' – Alohci

-2

检查修复。

<link type="text/css" href="index.css" rel="stylesheet">

<style type="text/css">

</body> //体没有关闭

+0

在HTML 5(本文档是)中,type属性是可选的。 body元素的结束标记在HTML中总是* optional *。 – Quentin

+2

你做了这些改变,你通过验证器运行了更改后的版本,并且错误信息消失了? –