为什么不能为head元素设置样式



<!DOCTYPE html>
<html>
<head style="border:2px solid black;">
<p>dgdgsdg</p>
</head>

</html>

为什么不能对此代码中的head元素进行样式设置?是因为head元素只能有元数据,因此不能进行样式设置吗?

它可以。默认情况下,它只是display: none,因为它不包含应该显示的任何数据。(具有display: none的元素不会被渲染,因此它们上的任何边框都不会显示。(它只包含对样式表和<title>(在视口外渲染(的引用。

head {
display: block;
border:2px solid black;
height: 2em;
}
<!DOCTYPE html>
<html>
<head>
<title>dgdgsdg</title>
</head>
</html>

在您的示例中,您尝试在<head>中放入一个<p>元素这是无效的HTML

<p>的开始标记隐式结束head元素并开始body元素。然后您的</head>标记将被丢弃,因为它与任何打开的元素都不匹配。

使用标记验证器来查找此类错误。

您可能混淆了head元素和header元素。

正如您所说,head是元数据的容器,因此不会显示其内容。据我所知,只有以下元素可以进入<head>标签:

<title> 
<style>
<base>
<link>
<meta>
<script>
<noscript>

<head>是元数据的容器,不要被<header>混淆,它位于<body>内部,通常包含徽标、导航菜单等。

https://www.w3schools.com/html/html_head.asp

最新更新