Amo*_* N. 4 html css ellipsis css3 flexbox
我有一个基于flexbox的布局.两列,一个固定尺寸,第二列需要占用剩余空间.在增长列中,我有一个字符串,我希望它被剪裁.
在Chrome中,它运行正常.但它在Firefox和IE中不起作用.我试图通过使用相对和绝对位置给grow(flex item)内部元素一个宽度来修复它,但后来我得到了一个损坏的布局.腐败与元素的高度不考虑其所有子元素有关.
注意:flex grow项目中的内部元素是使用几个div标签构建的.
这是jsFiddle.
.cols {
display: flex;
}
.flex--0 {
flex: 0 0 auto;
}
.flex--1 {
flex: 1 1 auto;
}
.absolute {
position: absolute;
}
.relative {
position: relative;
}
.width--100 {
width: 100%;
}
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.border {
border: 1px solid gray;
}Run Code Online (Sandbox Code Playgroud)
<h1>Ellipsis inside Flex item</h1>
<h2>Working fine in Chrome Not working in FF and IE</h2>
<div class="cols border">
<div class="flex--0 border padding--sm">Icon</div>
<div class="flex--1 border padding--sm">
<div class="ellipsis">Icon lkdjasdoif dlkjasdfo;isd fasldf ;asofj as;doifja dflkas d;laiksjdf oaisjdf asldkfj a;slkfdj as;oifj as;ldkfj asldkfjowiejfa;wlkdfj as;lkdjf as;lkdfj a;osifj aw;lkefj asldkfj ;aolifj aw;oiefjasl;dkfj a;slkdfj aodfj aw;lfjk as;lkdfj a;oiwefjr</div>
<div>Icon</div>
<div>Icon</div>
<div>Icon</div>
</div>
</div>
<div>Second BLOCK</div>
<h2>Trying to fix in FF and IE (Layout corrupts)</h2>
<div class="cols border">
<div class="flex--0 border padding--sm">Icon</div>
<div class="flex--1 relative border padding--sm">
<div class="absolute width--100">
<div class="ellipsis">Icon lkdjasdoif dlkjasdfo;isd fasldf ;asofj as;doifja dflkas d;laiksjdf oaisjdf asldkfj a;slkfdj as;oifj as;ldkfj asldkfjowiejfa;wlkdfj as;lkdjf as;lkdfj a;osifj aw;lkefj asldkfj ;aolifj aw;oiefjasl;dkfj a;slkdfj aodfj aw;lfjk as;lkdfj a;oiwefjr</div>
<div>Icon</div>
<div>Icon</div>
<div>Icon</div>
</div>
</div>
</div>
<div>Second BLOCK</div>Run Code Online (Sandbox Code Playgroud)
Sti*_*ers 11
您可以添加min-width: 0;到弹性项目.
.flex--1 {
flex: 1 1 auto;
min-width: 0;
}
Run Code Online (Sandbox Code Playgroud)
或者添加overflow: hidden;它.
.flex--1 {
flex: 1 1 auto;
overflow: hidden; /*or auto*/
}
Run Code Online (Sandbox Code Playgroud)
为什么?
是提供一种用于柔性的项目进行更合理的默认最小大小,本说明书中引入了一个新
auto值作为的初始值min-width和min-height在CSS 2.1定义的属性.
或者,您可以将内容包装到容器中.
.container {
display: table;
table-layout: fixed;
width: 100%;
}
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3294 次 |
| 最近记录: |