为什么我的 <div> 标签没有换行符?
Why Aren't My <div> Tags Given Line Breaks?
我写了一首诗,我在 HTML 中重写了这首诗,所以我可以将它包含在我的博客中。然而,即使我将每个节都包裹在 <div>
标签中,它们之间也没有像应该的那样换行。
根据w3schools.com,"By default, browsers always place a line break before and after the <div>
element. However, this can be changed with CSS."
但是你会注意到我的代码中没有 CSS,所以我不知道为什么它没有换行符。
JSFiddle:https://jsfiddle.net/43dn9tr9/2/
顺便说一句,w3schools 是个臭名昭著的烂摊子。您可能想尝试一些更有信誉的东西。
您的 HTML 的输出完全正确 - div 换行。 w3schools 给你的解释并不是非常具有描述性,因为它暗示了实际上并不存在的换行符。事实上,最好不要根据换行符来考虑布局,因为那根本不是模型的工作方式。
最好说 div 是相对于彼此垂直排列的块(当然忽略 CSS)。在您的输出中,三个 div 是垂直排列的。一个很好的例子是用将每一行放在它自己的 div 中来替换你的 br 标签,这会获得相同的结果。 https://jsfiddle.net/43dn9tr9/3/
您的 div 标签确实有换行符。换行符与使用 br 标签时得到的一样。这就是为什么 br 标签被称为 line break 标签。
如果没有换行符,该行将像这样继续:
This is Stanza 1, Line 4. This is Stanza 2, Line 1,
我认为您正在寻找节之间的垂直边距。如果你不想使用CSS,P标签默认有垂直边距,近似一首诗的节间距。
参见 this question(但先忽略被否决的已接受答案)。
我猜你想用白色分隔节 space,这与换行符不同。
您可以使用 <p>
而不是 <div>
来实现此目的。
参见 https://jsfiddle.net/43dn9tr9/6/
这是可行的,因为浏览器默认给 <p>
一个垂直边距。您可以使用 CSS.
使 <div>
以相同的方式运行
<style>
div.stanza {
margin: 20px 0;
}
</style>
<div class="stanza">
This is Stanza 1, Line 1,<br>
This is Stanza 1, Line 2,<br>
This is Stanza 1, Line 3.<br>
This is Stanza 1, Line 4.
</div>
[...]
我写了一首诗,我在 HTML 中重写了这首诗,所以我可以将它包含在我的博客中。然而,即使我将每个节都包裹在 <div>
标签中,它们之间也没有像应该的那样换行。
根据w3schools.com,"By default, browsers always place a line break before and after the <div>
element. However, this can be changed with CSS."
但是你会注意到我的代码中没有 CSS,所以我不知道为什么它没有换行符。
JSFiddle:https://jsfiddle.net/43dn9tr9/2/
顺便说一句,w3schools 是个臭名昭著的烂摊子。您可能想尝试一些更有信誉的东西。
您的 HTML 的输出完全正确 - div 换行。 w3schools 给你的解释并不是非常具有描述性,因为它暗示了实际上并不存在的换行符。事实上,最好不要根据换行符来考虑布局,因为那根本不是模型的工作方式。
最好说 div 是相对于彼此垂直排列的块(当然忽略 CSS)。在您的输出中,三个 div 是垂直排列的。一个很好的例子是用将每一行放在它自己的 div 中来替换你的 br 标签,这会获得相同的结果。 https://jsfiddle.net/43dn9tr9/3/
您的 div 标签确实有换行符。换行符与使用 br 标签时得到的一样。这就是为什么 br 标签被称为 line break 标签。
如果没有换行符,该行将像这样继续:
This is Stanza 1, Line 4. This is Stanza 2, Line 1,
我认为您正在寻找节之间的垂直边距。如果你不想使用CSS,P标签默认有垂直边距,近似一首诗的节间距。
参见 this question(但先忽略被否决的已接受答案)。
我猜你想用白色分隔节 space,这与换行符不同。
您可以使用 <p>
而不是 <div>
来实现此目的。
参见 https://jsfiddle.net/43dn9tr9/6/
这是可行的,因为浏览器默认给 <p>
一个垂直边距。您可以使用 CSS.
<div>
以相同的方式运行
<style>
div.stanza {
margin: 20px 0;
}
</style>
<div class="stanza">
This is Stanza 1, Line 1,<br>
This is Stanza 1, Line 2,<br>
This is Stanza 1, Line 3.<br>
This is Stanza 1, Line 4.
</div>
[...]