首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态挠曲盒宽度

动态挠曲盒宽度
EN

Stack Overflow用户
提问于 2022-06-16 22:50:50
回答 1查看 217关注 0票数 1

你好,我有问题要解决这个布局使用css弹出框。我想在文本中使用省略号,但是如果我有很长的文本内容,它就会把其他元素从盒子里推出来。

如果我删除显示:内容-2-包装的灵活性,它似乎是有效的。但我想知道是否可能有一个动态宽度的内容-2-包装取决于容器宽度。在文本中使用省略号。

我添加代码:

代码语言:javascript
复制
.container {
  max-width: 300px;
  width: 100%;
  padding: 16px;
  background-color: magenta;
  
}

.d-flex {
  display: flex;
  padding: 16px;
  flex-wrap: nowrap;
}

.content-1 {
  background-color: red;
  padding: 16px;
}

.content-2-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.content-2a {
  background-color: blue;
  padding: 16px;
}

.content-2b {
  background-color: gray;
  padding: 16px;
}

.content-3 {
  background-color: yellow;
  padding: 16px;
}

.content-4 {
  background-color: green;
  padding: 16px;
}

.ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
代码语言:javascript
复制
<div class="container">
  <div class="d-flex">
    <div class="content-1">
      1
    </div>
    <div class="content-2-wrapper">
      <div class="content-2a ellipsis">
        Very long content that breake my flex layout
      </div>
      <div class="content-2b ellipsis">
        second-content
      </div>
    </div>
    <div class="content-3 ellipsis">
      another content
    </div>
    <div class="content-4 ellipsis">
      last content
    </div>
  </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-16 23:15:46

你只需要做两件事:

  • min-width: [something]设置在直接的flex子程序上。如果不设置值,则默认使用auto
  • .d-flex和任何具有宽度/最小宽度和定义填充的.

的元素上设置box-sizing: border-box

代码语言:javascript
复制
.container {
  max-width: 300px;
  width: 100%;
  padding: 16px;
  background-color: magenta;
  
}

.d-flex {
  display: flex;
  padding: 16px;
  flex-wrap: nowrap;
  box-sizing: border-box;
}

.content-1 {
  background-color: red;
  padding: 16px;
  min-width: 25%;
  box-sizing: border-box;
}

.content-2-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 25%;
}

.content-2a {
  background-color: blue;
  padding: 16px;
}

.content-2b {
  background-color: gray;
  padding: 16px;
}

.content-3 {
  background-color: yellow;
  padding: 16px;
  min-width: 25%;
  box-sizing: border-box;
}

.content-4 {
  background-color: green;
  padding: 16px;
  min-width: 25%;
  box-sizing: border-box;
}

.ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
代码语言:javascript
复制
<div class="container">
  <div class="d-flex">
    <div class="content-1">
      1
    </div>
    <div class="content-2-wrapper">
      <div class="content-2a ellipsis">
        Very long content that breake my flex layout
      </div>
      <div class="content-2b ellipsis">
        second-content
      </div>
    </div>
    <div class="content-3 ellipsis">
      another content
    </div>
    <div class="content-4 ellipsis">
      last content
    </div>
  </div>
</div>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72652654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档