H1标签中的两行

我需要在一个 h1标记中放入两行代码(而不是制作两个分离的 h1标记)。

如何在 h1标记中创建换行符?

117733 次浏览

使用:

<h1>Line 1 <br/> Line 2</h1>

您可以在 h1中插入标记,这样就可以简单地执行 <h1>foo<br>bar</h1>

W3C 已确认方法是

<h1>Line 1 <span style = "display: block;">Line 2</span></h1>

总结所有聪明的答案,以下是 https://validator.w3.org对每个问题的回答:

验证:

<h1>Line 1 <br/> Line 2</h1>
<h1>Line 1<br>Line 2</h1>
<h1>Line 1 <span style = "display: block;">Line 2</span></h1>

无效

<h1>
<p>Line1</p>
<p>Line2</p>
</h1>

理由:

错误: 在此上下文中,元素 p 不允许作为元素 h1的子元素


<h1>
<div>line1</div>
<div>line2</div>
</h1>

理由:

错误: 在此上下文中,元素 div 不允许作为元素 h1的子元素。


测试代码:

<!DOCTYPE html>
<html>
<head>
<title>test</title>
</head>
<body>
<h1>Line 1 <br/> Line 2</h1>
<h1>Line 1<br>Line 2</h1>
<h1>
<p>Line1</p>
<p>Line2</p>
</h1>
<h1>Line 1 <span style = "display: block;">Line 2</span></h1>


<h1>
<div>line1</div>
<div>line2</div>
</h1>
</body>
</html>

您可以使用换行标记

<h1>heading1 <br> heading2</h1>

您也可以使用 PHP 来完成这项工作

$str = "heading1 heading2 heading3";
$h1 = '<h1>';
foreach(explode(" ",$str) as $data)
{
$h1 .= $data .'<br>';
}
$h1 .= '</h1>';


echo $h1;

h1br的标准报价是有效的

让我们教更多的人阅读现行的标准

4.3.6“ h1、 h2、 h3、 h4、 h5和 h6元素” 说:

内容模式: 短语内容。

然后我们点击“短语内容”的定义,这导致 3.2.5.2.5“短语内容”说:

短语内容是文档的文本,以及在段落内标记文本的元素。段落内容的组合。

跨度。

所以我们看到,br是在庞大的措辞内容元素列表,因此可以进入内部的 h1

这也告诉我们,另一种选择是这样做:

<h1><span>ab</span><span>cd</span></h1>

然后使用 CSS 使 span成为 display: inline-block;