【问题标题】:inline-block not working together with overflow-wrap for divs内联块不能与 div 的溢出包装一起使用
【发布时间】:2019-10-10 20:24:52
【问题描述】:

我有两个divs 在使用display: inline-block 时非常适合放在一行,但是如果一个容器现在包含一些我尝试用overflow-wrapword-break 包装的很长的单词,这个容器将移动到下一行,我想避免的。

div {
  display: inline-block;
}

div.bar {
  overflow-wrap: break-word;
  word-break: break-all;
}
<div>foo</div>
<div class="bar">
  barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar
</div>

View on JSFiddle

我想要的是这个

foobarbarbarbarbarbarbarbarbarbarbarbarbarbar...
...barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar

【问题讨论】:

    标签: html css overflow inline word-wrap


    【解决方案1】:

    如果您只想将两个 div 放在同一行,请考虑使用 display:flex 将它们包装在父 div 中

    了解flexbox model here

    在这里查看:

    div {
      display: inline-block;
    }
    
    div.bar {
      overflow-wrap: break-word;
      word-break: break-all;
    }
    
    div.flex-parent {
      display: flex;
    }
    <div class="flex-parent">
      <div>foo</div>
      <div class="bar">
        barbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbarbar
      </div>
    </div>

    JSFiddle

    【讨论】:

    • @DonFuchs 如果解决了您的问题,请随时接受答案 :)
    【解决方案2】:

    你必须给 div 一个宽度。 inline-block 将根据需要占用尽可能多的空间,因此如果它的内容占据了视口的整个宽度,它的作用类似于 display:block。

    【讨论】:

    • jsfiddle.net/kh8brp62 Flexbox 是解决您问题的好方法,但您也应该了解 inline-block 的工作原理
    猜你喜欢
    • 2014-12-03
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 2011-06-09
    相关资源
    最近更新 更多