【发布时间】:2017-01-09 08:49:46
【问题描述】:
我想要完成的是一个填充其可用父 div 宽度的标题,但如果它的副本不适合 div,它应该用省略号截断。此外,它后面还应有一个图标,该图标不应在截断时消失,但始终显示在省略号之后。
另一个要求是父 div 应该有一个或多个按钮,宽度不特定,位于最右边,但如果调整 div 的大小,它应该截断长标题,允许图标显示在旁边我之前描述的省略号。
在视觉上,我想要的结果如下所示:
到目前为止,我已经实现了以下目标:
/* Helper styles not relevant to the example */
/* Simple flag object from @csswizardry */
.flag {
display: table;
width: 100%;
}
.flag .flag__section {
display: table-cell;
vertical-align: middle;
}
/* Right float text from bootstrap */
.text-right {
text-align: right !important;
}
/* Colors for better visibility */
.container {
background-color: #55606d;
color: #333;
padding: 20px;
}
.flag__section--a {
background-color: #22d398;
}
.flag__section--b {
background-color: #91c1f8;
}
.fluid-text__icon {
background-color: #fecb52;
}
/* Styles relevant to the example */
.container {
max-width: 700px;
}
.fluid-text {
text-align: left;
}
.fluid-text__inner {
max-width: 100%;
}
.fluid-text__inner,
.fluid-text__copy {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.fluid-text__copy,
.fluid-text__icon {
float: left;
}
.fluid-text__copy {
padding-right: 5px;
}
.fluid-text__icon {
margin-top: 30px;
}
/* I'd like to not set explicit max width here */
.title {
max-width: 600px;
}
<div class='container'>
<div class='flag'>
<div class='flag__section flag__section--a fluid-text'>
<div class='fluid-text__inner'>
<h1 class='fluid-text__copy title'>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloremque earum in, voluptas dolorum sit ab modi facere tempora est, sequi molestiae! Commodi vitae sapiente ipsum, nisi facilis impedit aut? Repellendus!
</h1>
<span class='fluid-text__icon'>icon</span>
</div>
</div>
<div class='flag__section flag__section--b text-right'>
<button>ACTION</button>
</div>
</div>
</div>
但是,我唯一担心的是我必须明确设置 .title max-width 这是不可扩展的,我想避免它。
没有js有什么办法吗?
【问题讨论】: