html - 使 flex 行拉伸(stretch)到单元格中内容的高度 - 内容从容器 DIV 中渗出

标签 html css flexbox less

我通常会问有关 Angular 的问题,但今天我有一个有关 CSS 和 FlexBox 的问题。在我的应用程序中,我在界面、用户名、公司名称和部门名称上显示一些信息,如果信息很长(比如一个有很多字符的长名称),我希望文本包含在它的单元格和显示文本的行中在增长以适应文本。文本不应渗入下一行。

我的 HTML 看起来像这样......

<div class="assignment">
  <!-- Here we want to colums, one to contain the rows of info
      The other to contain a single button -->
  <div class="assignment__details">
    <div class="assignment__row">
      <div class="assignment__row__title">User</div>
      <div class="assignment__row__value">
        Oh this is a long user name
      </div>
    </div>
    <div class="assignment__row">
      <div class="assignment__row__title">Company:</div>
      <div class="assignment__row__value">
        Oh this is a long company name
      </div>
    </div>
    <div class="assignment__row">
      <div class="assignment__row__title">Department:</div>
      <div class="assignment__row__value" >
        This is Such a long Department Name
      </div>
    </div>
  </div>
  <!-- here is the col with the button -->
  <div class="assignment__controls">
    <button mat-icon-button (click)="doSomething()">
      <mat-icon>edit</mat-icon>
    </button>
  </div>
</div>

这是我的 CSS(使用 BEM 编写的较少)

.assignment {
  display: flex;
  background-color: #C0C0C0;
  padding: 10px;
  width: 300px; // just for demo puropses

  &__details {
    flex: 1 1 80%;
  }

  &__controls {
    display: flex;
    flex: 1 1 20%;
    justify-content: flex-end;
    align-items: center;
  }

  &__row {
    display: flex;
    height: 21px;

    &__title {
      flex: 1 0 50%;
    }

    &__value {
      flex: 1 0 50%;
    }
  }
}

这是一个 JS Bin https://jsbin.com/juguvovelo/edit?html,css,output

如您所见,文本渗入下面的行并溢出容器!正如这个屏幕截图所示!我正在设置 .assignment__rowflex-grow 但似乎没有任何效果达到我想要的效果?

enter image description here

如果有人能帮我解决这个问题,我将不胜感激。可能是我的 HTML 结构有问题?

最佳答案

您需要从 .assignment__row 中移除高度。这是一个JSBin link .

关于html - 使 flex 行拉伸(stretch)到单元格中内容的高度 - 内容从容器 DIV 中渗出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55589336/

相关文章:

jquery - 没有控件时div消失

css - ie8 忽略了我所有的字体声明

jquery - 页面加载时的垂直 jquery megamenu 插件子菜单

html - 为什么这张图片的 flex 父元素会超出图片的大小?

html - maven中的静态html网页

javascript - 有没有办法使用 Knockout.js 通过数据绑定(bind)来设置页面标题?

css - 如何确定 flex-wrap 中第一行的优先级?

html - 如果垂直滚动条可见,Chrome 中的 Flexbox 元素高度错误

javascript - 如何验证网站是否包含混合内容

html - CSS/HTML slider 。第一张图片应显示在所有图片之上,然后是第二张图片,然后是第三张图片……依此类推