【发布时间】:2018-11-02 22:25:37
【问题描述】:
这里的场景是我将一个使用 Flexbox 的 React 标头组件导入到一个包含大量 Flexbox css 的页面上。我只能访问myDiv(并且可以创建任意数量的 div 包裹它),但我正在努力让标头组件截断或包裹到多行。
如果我指定页面的特定宽度(以像素为单位),我的问题就解决了,但是有没有办法告诉标题组件不要扩展到给定的空间之外? 这也需要在 IE11 中工作。
希望获得一些有关如何调试此场景的提示。谢谢!
.myDiv { // Can edit this class
}
.outerContainer3 { // Cannot edit this class
margin-top: 0;
flex-direction: column;
flex: 1 0 auto;
display: flex;
}
.outerContainer2 { // Cannot edit this class
flex: 1 0 auto;
display: flex;
flex-direction: row;
}
.outerContainer1 { // Cannot edit this class
position: relative;
flex: 1 1 auto;
}
.headerContainer2 { // Cannot edit this class
align-items: center;
display: flex;
justify-content: space-between;
}
.headerContainer1 { // Cannot edit this class
min-width: 0%;
flex-shrink: 1;
width: 100%;
}
.header { // Cannot edit this class
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
<div class="outerContainer3">
<div class="outerContainer2">
<div class="outerContainer1">
<div>
<div>
<div class="myDiv">
<div class="headerContainer2">
<div class="headerContainer1">
<h1 class="header">asdfkasdjlfkasdjfla sjdlfkja sldkfj alskfj lskdjf laskdjf laskjf akjf lsakfjs lak jfkjflakj flkajds lakj f</h1>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
在
.outerContainer1上添加width: 100%; -
很遗憾我无法编辑
outerContainer1的css -
除了固定宽度或
100vw,问题来自祖先或.myDiv,他们无法控制宽度为视口的 100%,所以如果孩子们决定在他们的宽度上涂胭脂,他们将能够这样做。由于您使用的是react,我建议您使用它为.myDiv应用宽度。 -
太糟糕了,我希望有一些神奇的解决方案。其他人删除了他们的答案,即从
.header中删除white-space: nowrap;(有效),有没有办法在不直接编辑.header并且不知道.header的类名的情况下做到这一点?跨度> -
.myDiv h1这将选择h1内的所有h1元素,但如果只有一个,那就是那个。
标签: css flexbox horizontal-scrolling