当浏览器重新调整大小时,如何防止浮动的div元素被包装?

Mar*_*cus 39 html css

当浏览器重新调整大小以使视口变小时,如何使彼此相邻的DIV不会被包裹?

div {
  float: left;
}
Run Code Online (Sandbox Code Playgroud)

例如,当浏览器完全最大化时,divs排列如下:

|div| |div| |div| |div| |div| |div| |div| |div|
Run Code Online (Sandbox Code Playgroud)

但是当浏览器重新调整大小时会发生这种情况:

|div| |div| |div| |div| |div|
|div| |div| |div|
Run Code Online (Sandbox Code Playgroud)

div当浏览器重新调整大小时,如何使s不包装?

Aar*_*ieb 26

将它们包装在另一个div中,该div具有指定的宽度(或最小宽度).

<div class="parentContainer">
    <div class="floater"></div>
    <div class="floater"></div>
    <div class="floater"></div>
</div>

.parentContainer {
    /* The width of the parent needs to be equal to the total width of the children.
    Be sure to include margins/padding/borders in the total. */
    width: 600px;
    overflow: auto;
}
Run Code Online (Sandbox Code Playgroud)

它还有助于溢出:在包含div上自动指定,以允许其高度匹配子浮点数.


Jac*_*Dev 22

我玩游戏的时间已经很晚了,但这是我发现的有效:

假设您的导航结构如下:

<nav>
    <ul>
        <li><a href="#">Example Link</a></li>
        <li><a href="#">Example Link</a></li>
        <li><a href="#">Example Link</a></li>
    </ul>
</nav>
Run Code Online (Sandbox Code Playgroud)

要让它显示链接内联,而不是包装,你可以简单地使用:

nav ul {
    white-space: nowrap;
}

nav ul li {
    display: table-cell;
}
Run Code Online (Sandbox Code Playgroud)

无固定宽度或任何要求.

小提琴:http://jsfiddle.net/gdf3prb4/

  • 这个方法与我的情况最相关(缺少flexbox,在我们想要支持的浏览器中似乎仍然是一个小问题) - 但在我的情况下,我发现我还需要在包装器上显示`display:table` `ul`保持列的原始100%高度.有了它,那个父母的`white-space:nowrap`似乎也没有必要,无论如何,列宽最终分布不会超过100%. (3认同)
  • 这是IMO的最佳方法,也是唯一容易奏效的方法(至少对我而言)。如果您确切知道要多少像素,则使固定div宽度的其他方法可能会很好地工作,但是在当今世界中,屏幕尺寸总是不同的,您不想依赖固定宽度,因为这会阻止您从建立动态网站开始。 (2认同)

eas*_*wee 9

使容器div围绕它们

.container {
width: 500px;
white-space: nowrap;
overflow: visible/hidden/scroll - whichever suits you;
}
Run Code Online (Sandbox Code Playgroud)


dlc*_*ers 8

我意识到讨厌桌子很时髦,但它们很有用.
http://jsfiddle.net/td6Uw/
而不是浮动div,将它们放在一个表中,并用一个大小约束的div包装表.TR将阻止包装.
此外,我在TD中使用DIV来使单元格样式更容易.如果你花时间,你可以设置TD的样式,但我发现它们难以设计风格,通常只是使用我的小提琴所采用的DIV-in-TD方法.


小智 5

这实际上非常简单。代码示例:

Element {
white-space: nowrap;
}
Run Code Online (Sandbox Code Playgroud)