如何在HTML
中制作另一个标题?
我使用了<h1>
,<h2>
,<h3>
,<h4>
,<h5>
和<h6>
,现在我想添加{ {1}}和<h7>
因为我需要使用不同的文本类型。
如果您无法执行此操作,是否可以使用<h8>
表单来处理文字,而CSS
和<p>
- <h1>
除外?
答案 0 :(得分:8)
您可以在样式表中声明这个
h7, h8, h9 { /* You can just go on adding headings */
display: block; /* Because this is block level element */
}
h7 {
font-size: /*Whatever */ ;
}
h8 {
font-size: /*Whatever */ ;
}
但是我建议你不要这样做,因为它没有任何语义含义,从SEO的角度来看也是不好的
另请查看html5shiv,只需在脚本中添加所需的元素
即可答案 1 :(得分:2)
关于我的另一个完全不相关的问题,我收到了这个问题的答案:
你不能制作标题7,因为只有六个不同的HTML标题(h1,h2,h3,h4,h5和h6;参考:http://www.w3schools.com/tags/tag_hn.asp),但你可以用这个标题6 CSS代码:
h6.special { color:#464646; outline:0;
font-family:Raleway, sans-serif; font-size:17px; }
和这个HTML代码:
<h6 class="special">I am special!</h6>
此解决方案不会破坏seo并且相当简单。 我只是应该让每个人都知道。 作为一个附带问题,你能改变“特殊”吗? 如果我将其更改为
h6.raleway { color:#464646; outline:0;
font-family:Raleway, sans-serif; font-size:17px; }
和这个HTML代码:
<h6 class="raleway">I am raleway!</h6>
这会有用吗? 再次感谢您的回答!
答案 2 :(得分:1)
简单的方法是使用类
.h7{ font-size:10px;}
.h8{font-size:7px;}
某种方式,并使用跨越div。
答案 3 :(得分:1)
h7,h8,h9不是有效的html标记,浏览器可以用它做它想做的事情。您可以创建自己的css类并使用css属性,如h2,h3等。
<强>像:强>
h7{
display: block;
font-size: 0.51em;
-webkit-margin-before: 2.99em;
-webkit-margin-after: 2.99em;
-webkit-margin-start: 0px;
-webkit-margin-end: 0px;
font-weight: bold;
}
答案 4 :(得分:1)
到目前为止,没有答案是完全正确的。有些颇具误导性。
在html5中,您确实可以使用h7
,h8
等,并使用相应的CSS选择器选择它们,但是从语义上讲这些不是标题,它们是只是语义不明的元素-很像div和spans。同样,如果所有浏览器都一贯对待这些“自定义”元素,而至少没有为display
提供CSS值,我会感到惊讶。
但是,您可以使用role
属性的"heading"
指定缺少的语义,这对于诸如屏幕阅读器之类的辅助技术将非常重要。 (可能)可能会对SEO产生一定的影响,但是SEO问题远不止于此。
指定高于6的标题级别的正确方法是包括属性aria-level="7"
(或您喜欢的任何级别)。如果将此属性应用于h1
-h6
以外的其他任何内容,则还需要role="heading"
。
因此,根据w3,以下任何“ h7”示例均有效且正确:
<h1 aria-level="7">...
(“ h1”提供的标题语义,但7覆盖1)
<h7 role="heading" aria-level="7">...
(role
提供的标题语义)
<div role="heading" aria-level="7">...
(role
提供的标题语义)
当然,要在CSS中选择任何一个,您可以执行以下操作:
*[aria-level="7"] {
font-size:0.5em;
}
最后:不要在彼此之间嵌套不同级别的标题!众所周知,这会混淆所有屏幕阅读器,并且可能也不是有效的HTML。在开始新的标题元素之前,请完全关闭每个标题元素。如果您使用的是div
,则很容易忽略这一点,验证器很可能不会注意到该错误。
答案 5 :(得分:0)
如果您确实需要第6级以下的标题(这意味着您的文档对应于结构和部分嵌套中的大型图书),请使用div
元素和class
属性。 (使用像h7
这样的“自定义标签”不符合规范,导致IE出现问题,并产生使用标题的错觉 - 它们不会成为标题,搜索引擎,大纲构造等等。)示例:
<style>
.h7 { font-weight: bold; margin-top: 1em; }
</style>
<div class=h7>Some text</div>
(很难将标题设置为7或8级,以便水平清晰地反映在外观上,并且最顶层的字体大小不会过大。)
理论上,您可以使用HTML5 section
元素来定义文档中的部分,章节,部分,子部分等的嵌套结构,并且例如每个h1
内的section
标题。通过HTML5 CR,section
元素的嵌套定义了标题的级别,因此在嵌套的第7级,<h1>
将是第7级标题。但即使对于那些一般都喜欢HTML5的人来说,这可能会让人感到困惑,为了让这个在IE上的旧版本中工作,你需要<script>document.createElement('section')</script> as well as
section {display:block}`以及使用上下文选择器格式化标题的代码
“我需要使用的不同文本类型”这一表述暗示您可能正在寻找样式元素的可能性。在这种情况下,请根据需要使用div
或p
或其他具有class
属性的元素,以适合内容和结构,并在CSS中进行样式设置。