flexbox 一行上的省略号 child
Ellipsis on one line of flexbox child
我正在使用 flexbox,我有一个 child 占用了剩余的宽度:
.flex-container {
display: flex;
}
.middle {
flex: 1;
}
.left {
margin-right: 15px;
}
.right {
margin-left: 15px;
}
.ellipsis {
display: inline-block;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="flex-container">
<div class="left">
Left content
</div>
<div class="middle">
<div>Middle</div>
<div class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<span>12345</span>
</div>
<div class="right">
<button class="btn btn-sm btn-danger">Button 1</button>
<button class="btn btn-sm btn-default">Button 2</button>
</div>
</div>
我希望 Lorem ipsum 行截断并显示省略号。考虑到 'middle' 元素正在弯曲剩余宽度,这是否可能?
这是一个插曲:
https://plnkr.co/edit/GvyR280i00hnAKHu0keF?p=preview
您只需要 overflow: hidden
在 flex 子项本身上。
.flex-container {
display: flex;
}
.middle {
flex-grow: 1;
overflow: hidden;
}
.left {
margin-right: 15px;
}
.right {
margin-left: 15px;
}
.ellipsis {
display: inline-block;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="flex-container">
<div class="left">
Left content
</div>
<div class="middle">
<div>Middle</div>
<div class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<span>12345</span>
</div>
<div class="right">
<button class="btn btn-sm btn-danger">Button 1</button>
<button class="btn btn-sm btn-default">Button 2</button>
</div>
</div>
我正在使用 flexbox,我有一个 child 占用了剩余的宽度:
.flex-container {
display: flex;
}
.middle {
flex: 1;
}
.left {
margin-right: 15px;
}
.right {
margin-left: 15px;
}
.ellipsis {
display: inline-block;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="flex-container">
<div class="left">
Left content
</div>
<div class="middle">
<div>Middle</div>
<div class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<span>12345</span>
</div>
<div class="right">
<button class="btn btn-sm btn-danger">Button 1</button>
<button class="btn btn-sm btn-default">Button 2</button>
</div>
</div>
我希望 Lorem ipsum 行截断并显示省略号。考虑到 'middle' 元素正在弯曲剩余宽度,这是否可能?
这是一个插曲: https://plnkr.co/edit/GvyR280i00hnAKHu0keF?p=preview
您只需要 overflow: hidden
在 flex 子项本身上。
.flex-container {
display: flex;
}
.middle {
flex-grow: 1;
overflow: hidden;
}
.left {
margin-right: 15px;
}
.right {
margin-left: 15px;
}
.ellipsis {
display: inline-block;
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
<div class="flex-container">
<div class="left">
Left content
</div>
<div class="middle">
<div>Middle</div>
<div class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</div>
<span>12345</span>
</div>
<div class="right">
<button class="btn btn-sm btn-danger">Button 1</button>
<button class="btn btn-sm btn-default">Button 2</button>
</div>
</div>