是什么让CSS进入页面的下一行?

Jus*_*zer 37 css positioning

如何使元素自动定位在页面的新行中?在HTML中我可以使用<br>,但是如何在CSS中添加像换行符这样的东西呢?

假设我有以下代码,例如:

<p>Lorem ipsum dolor sit amet,
   <span id="elementId">consectetur adipisicing elit.</span>
   Magni totam velit ex delectus fuga fugit</p>
Run Code Online (Sandbox Code Playgroud)

跨度仍与文本的其余部分位于同一行.如何仅通过CSS在新行上移动跨度文本?

另一个例子是使用display: inline-blockfloat:

<div class="smalldiv">Lorem ipsum dolor sit amet</div>
<div class="smalldiv">Lorem ipsum dolor sit amet</div>
<div class="smalldiv" id="elementId">Lorem ipsum dolor sit amet</div>
<div class="smalldiv">Lorem ipsum dolor sit amet</div>

.smalldiv {
    display: inline-block; // OR
    float: left;
}
Run Code Online (Sandbox Code Playgroud)

如何<div>在新行上移动其中一个以创建新行?

Dav*_*mas 77

我可以想到两个选项,但没有更多细节,我无法确定哪个更好:

#elementId {
    display: block;
}
Run Code Online (Sandbox Code Playgroud)

这将迫使元素一个"新行" ,如果它不是在同一条线上的浮动元素.

#elementId {
     clear: both;
}
Run Code Online (Sandbox Code Playgroud)

这将强制元素清除浮动,并移动到"新行".

在该元件为在同一行的另一个具有的情况下positionfixed还是absolute什么都不会,所以据我所知,迫使"新线",这些元件是从文档的正常流程中移除.

  • 有趣的是,这是一个写得非常糟糕的问题,但谷歌仍然把它作为第一个打击给了我,这正是我所寻找的,答案也是如此. (14认同)

Mår*_*röm 7

将元素显示为块:

display: block;
Run Code Online (Sandbox Code Playgroud)


Que*_*tin 5

这首先取决于为什么某物在同一条线上。

clear在浮动display: block的情况下,在内联内容自然流动的情况下,没有什么会失败,position: absolute因为前一个元素会被它从正常流中取出。

  • @Andrew:`br` 不是 * css。 (6认同)