我想做这样的事情:
<p>This is a <h2>text</h2> paragraph.</p>
我为h2禁用了边距和填充,但它仍然在h2标记之前和之后打破了这一行。如何在文本中间使用h2标签,使其看起来像是正常的单词,就像&lt; b>呢?
我的html文档的doctype是“XHTML 1.0 Transitional”
答案 0 :(得分:25)
h2
内有p
无效。
除此之外,为了回答您的问题,h2
是block
级元素。将其设为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:
因此CSS技巧p h2{display:inline}
无效,因为CSS规则不正确,即<h2>
标记不在<p>
标记内。它看起来像这样:
仅为<h2>
代码h2{display:inline}
添加CSS技巧不是最终解决方案。它看起来像这样:
最后的解决方法是:
HTML代码<p class="inline-object">One paragraph with <h2 class="inline-object">title text</h2> in the middle</p>
CSS技巧.inline-object" {display:inline}
这看起来像我们期望的那样:
如果您尝试将<h2>
标题文字屏蔽为普通文字,只需在课程.inline-object" {display:inline;font-size: inherit;font-weight: normal;}
中再添加两个规则
答案 6 :(得分:0)
Firefox切断了我的P,因为里面有H2。然后为
创建P(空段)。它很好。因为它是自动生成的,并且用于清理P标签我需要编写几十个PHP代码。