我注意到在浏览Chrome的网页时<head>标签已{display: none;}分配了CSS .
这让我想到,<head>标签只是浏览器决定不显示的常规标签
即使这没有明显的用途,我是否可以在<cheese>标签的位置<head>使用标签并使用css "cheese {display: none;}"来实现与<head>标签相同的功能?
<head> 和 display:none是的,<head>标签是常规标签,就像其他应用了默认用户代理样式表的标签一样display:none;.我可以做的很酷的技巧来证明这是为了展示你的风格:
head,
style {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
为了获得额外的乐趣,您可以添加contenteditable到头标记中,以便您可以在页面内编辑页面的样式.
<cheese>至于创建一些随机标签<cheese>,这不起作用(好吧可能没有),因为浏览器不期望它.当您在HTML中执行不在规范中的操作时,可能无法以标准方式处理.
这方面的一个例子是,当您尝试使用新的HTML5语义标签(<section>,<nav>在旧版本的IE,...),他们不承认他们断章取义的一页.引入Modernizr应用一些polyfill来解决这个问题并模仿常规<div>.
就纯粹的显示而言 - 是的{display:none;}将隐藏您的元素。
然而,HTML<head>在 HTML 中作为头元素的容器具有独特的含义,但<cheese>不共享这一点。
浏览器知道它不会被显示,搜索引擎爬虫也了解该<head>标签的特殊含义。