是<head>标记是默认情况下不显示的常规标记

Ada*_*cot 8 html

我注意到在浏览Chrome的网页时<head>标签已{display: none;}分配了CSS .

这让我想到,<head>标签只是浏览器决定不显示的常规标签

即使这没有明显的用途,我是否可以在<cheese>标签的位置<head>使用标签并使用css "cheese {display: none;}"来实现与<head>标签相同的功能?

Dan*_*mms 5

<head>display:none

是的,<head>标签是常规标签,就像其他应用了默认用户代理样式表的标签一样display:none;.我可以做的很酷的技巧来证明这是为了展示你的风格:

的jsfiddle

head,
style {
    display:block;
}
Run Code Online (Sandbox Code Playgroud)

为了获得额外的乐趣,您可以添加contenteditable到头标记中,以便您可以在页面内编辑页面的样式.

的jsfiddle

<cheese>

至于创建一些随机标签<cheese>,这不起作用(好吧可能没有),因为浏览器不期望它.当您在HTML中执行不在规范中的操作时,可能无法以标准方式处理.

这方面的一个例子是,当您尝试使用新的HTML5语义标签(<section>,<nav>在旧版本的IE,...),他们不承认他们断章取义的一页.引入Modernizr应用一些polyfill来解决这个问题并模仿常规<div>.


m.e*_*son 4

就纯粹的显示而言 - 是的{display:none;}将隐藏您的元素。

然而,HTML<head>在 HTML 中作为头元素的容器具有独特的含义,但<cheese>不共享这一点。

浏览器知道它不会被显示,搜索引擎爬虫也了解<head>标签的特殊含义。