如何在文本中间的<p> </p>中使用<h2>标记</h2>?

时间:2011-01-13 01:39:23

标签: html css xhtml text

我想做这样的事情:

<p>This is a <h2>text</h2> paragraph.</p>

我为h2禁用了边距和填充,但它仍然在h2标记之前和之后打破了这一行。如何在文本中间使用h2标签,使其看起来像是正常的单词,就像&lt; b>呢?

我的html文档的doctype是“XHTML 1.0 Transitional”

7 个答案:

答案 0 :(得分:25)

h2内有p无效。

除此之外,为了回答您的问题,h2block级元素。将其设为inline级元素会使其行为与描述b代码的行为方式类似。

p h2{display:inline}

如上所述,您提供的HTML无效。

答案 1 :(得分:14)

在正文中使用表示“标题”的标记是不合适的。 <h..>标记是逻辑标记;它们的使用赋予所附文本含义 - 即文本是标题部分。

虽然您可以使用display: inline属性,但请考虑使用更合适的代码,甚至是<span>代码。

答案 2 :(得分:3)

不要,重点是它是一个标题。标题是他们自己的。相反,使用CSS。说出文字然后在CSS文件中选择字体大小。

答案 3 :(得分:1)

你必须做到这一点

display:inline;

h2是一个块元素。

h2标记标记标题,根据定义,标题不是文本的一部分。所以你所做的可能不是最好的方式。考虑采用不同的方式。

答案 4 :(得分:0)

使用相同的h2代码创建类似.myH2(不是最佳名称)的类,并在p中使用span

<p>this is <span class="myH2">myH2</span>.</p>

答案 5 :(得分:0)

尽管在段落中错误地使用了<h2>标记,但我们可以设置<h2>样式以使其成为段落。我在Firefox和Chrome中测试了上述css技巧之一,如下所示:

HTML代码<p>One paragraph with <h2>title text</h2> in the middle</p>

CSS技巧p h2{display:inline}

但它没有得到我期望的结果。浏览器会在初始h2标记之前截断段落。从Firebug看看DOM:

enter image description here

因此CSS技巧p h2{display:inline}无效,因为CSS规则不正确,即<h2>标记不在<p>标记内。它看起来像这样:

enter image description here

仅为<h2>代码h2{display:inline}添加CSS技巧不是最终解决方案。它看起来像这样:

enter image description here

最后的解决方法是:

HTML代码<p class="inline-object">One paragraph with <h2 class="inline-object">title text</h2> in the middle</p>

CSS技巧.inline-object" {display:inline}

这看起来像我们期望的那样:

enter image description here

如果您尝试将<h2>标题文字屏蔽为普通文字,只需在课程.inline-object" {display:inline;font-size: inherit;font-weight: normal;}中再添加两个规则

答案 6 :(得分:0)

Firefox切断了我的P,因为里面有H2。然后为

创建P(空段)。它很好。因为它是自动生成的,并且用于清理P标签我需要编写几十个PHP代码。