如何不包装div的内容?

HTML CSS

2020-03-24

我有一个固定宽度,里面div有两个按钮。如果按钮的标签太长,则它们会缠绕-一个按钮停留在第一行,而下一个按钮紧随其后而不是与其相邻。

如何强制将div其展开,以使两个按钮都在一行上?

第3682篇《如何不包装div的内容?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

6个回答
蛋蛋猿 2020.03.24

如果您的div具有固定宽度,则不应扩展,因为您已经固定了其宽度。但是,现代浏览器支持min-widthCSS属性。

您可以通过使用CSS表达式或使用自动宽度并在容器中具有spacer对象的方式,在旧版IE浏览器中模拟min-width属性。这个解决方案不是很好,但是可以解决这个问题:

<div id="container" style="float: left">
  <div id="spacer" style="height: 1px; width: 300px"></div>
  <button>Button 1 text</button>
  <button>Button 2 text</button>
</div>
Tony凯 2020.03.24

如果您不关心div的最小宽度,而只是不想让div在整个容器中扩展,则可以向左浮动它-默认情况下,浮动div扩展以支持其内容,如下所示:

<form>
    <div style="float: left; background-color: blue">
        <input type="button" name="blah" value="lots and lots of characters"/>
        <input type="button" name="blah2" value="some characters"/>
    </div>
</form>
达蒙 2020.03.24

尝试white-space: nowrap;

路易神奇Itachi 2020.03.24

两者的结合float: left; white-space: nowrap;对我有用。

他们每个人都没有独立完成预期的结果。

十三 2020.03.24

我不知道其背后的原因,但是我将父容器设置为display:flex,子容器设置为display:inline-block,尽管子代的总宽度超过了父代,但它们仍保持内联。

没必要玩弄max-widthmax-heightwhite-space,或其他任何东西。

希望能对某人有所帮助。

蛋蛋 2020.03.24

强制按钮保持在同一行中将使它们超出其所在的div的固定宽度。如果您对此表示满意,则可以在已有的div内创建另一个div。新的div将依次容纳按钮并具有固定的宽度,即两个按钮需要留在一行中的空间有多大。

这是一个例子:

<div id="parentDiv" style="width: [less-than-what-buttons-need]px;">
    <div id="holdsButtons" style="width: [>=-than-buttons-need]px;">
       <button id="button1">1</button>
       <button id="button2">2</button>
    </div>
</div>

You may want to consider overflow property for the chunk of the content outside of the parentDiv border.

Good luck!

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android