我想在我的列表项上应用带有弹性框和省略号的边框半径,并且还需要min-width
,如下例所示。
<ul>
<li style="flex: 1 1;"><span>A</span></li>
<li style="flex: 2 2;"><span>this is a pretty long text that will overflow the parent container</span></li>
<li style="flex: 1 1;"><span>C</span></li>
ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
li {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: white;
}
span {
background-color: blue;
padding: 0em 1em;
border-radius: 1em;
}
以下是示例 http://jsfiddle.net/mnk/kah0bn6o/1/
目标是在应用了省略号的元素上应用边框半径
答案 0 :(得分:1)
使其工作的一种方法是删除<span>
标记。将所有内容放入<li>
。
试试这个:
HTML (已移除span
代码)
<ul>
<li style="flex: 1 1;">A</li>
<li style="flex: 2 2;">this is a pretty long text that will overflow the parent
container</li>
<li style="flex: 1 1;">C</li>
</ul>
<强> CSS 强>
ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
li {
padding: 0em 1em;
background-color: blue;
border-radius: 2em;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: white;
}
DEMO:http://jsfiddle.net/kah0bn6o/5/
或者,您可以保留span
,只需将border-radius
规则应用于span
和li
元素。
答案 1 :(得分:0)
如果你可以没有跨度,那么你可以将所有样式移到li
上。
li {
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
color: white;
background-color: blue;
padding: 0em 1em;
border-radius: 1em;
}
和
<li style="flex: 1 1;">A</li>