我注意到在Chrome浏览器的网页中,<head>
标记已分配了CSS {display: none;}
。
这让我想到,<head>
标签只是浏览器决定不显示的常规标签
即使这没有明显的用途,我是否可以在<cheese>
标记的位置使用<head>
标记并使用css "cheese {display: none;}"
来实现与一个<head>
代码?
答案 0 :(得分:5)
<head>
和display:none
是的,<head>
标记是常规标记,就像其他应用了display:none;
的默认用户代理样式表一样。我可以做的很酷的技巧来证明这是为了展示你的风格:
head,
style {
display:block;
}
为了获得额外的乐趣,您可以将contenteditable
添加到头标记中,以便您可以在页面内编辑页面的样式。
<cheese>
至于创建一些像<cheese>
这样的随机标签,这不会像预期的那样有效(好吧可能不会),因为浏览器不期望它。当您使用不符合规范的HTML进行操作时,可能无法以标准方式处理。
这方面的一个示例是当您尝试在旧版本的IE中使用新的HTML5语义标记(<section>
,<nav>
,...)时,他们无法识别它们并将其弄乱翻页。引入Modernizr应用一些polyfill来修复此问题并模拟常规<div>
。
答案 1 :(得分:3)
就纯粹显示而言 - 是{display:none;}
会隐藏你的元素。
然而,HTML <head>
在HTML中作为头元素的容器具有不同的含义,而<cheese>
不会共享此内容。
浏览器知道它不会显示,搜索引擎抓取工具理解 <head>
标记的特殊含义。
答案 2 :(得分:0)
浏览器呈现文档 body ,它包含在<body></body>
标记对中。这是呈现和显示的文档的一部分。
HTML定义了自己的一组标签和组成语言的属性。文档类型声明(DTD)定义所包含文档正在使用的标记和属性集。因此,当你的DTD用于HTML5时,你使用特定于HTML5的标签和属性(或者更确切地说,你应该,浏览器也应该这样做。)
因此,如果您想要添加自己的标记,比如说<cheese>
,您可以将它放在文档的任何位置,如果它在<body></body>
标记对中,则浏览器更有可能呈现字面上的标签(因为它不是HTML的一部分,它不知道如何处理它)。
如果您要在<body></body>
代码之前添加它,那么您的文档将不会格式正确(即,它不遵循HTML文档类型的规则),但它对浏览器呈现的内容没有任何影响。