我有几个水平排列的项目,应该满足以下要求:
编辑:换句话说,如果父级大于子级的总宽度,则没有问题。子元素不应扩展以填充父级。如果父级变得小于子级的总宽度,就像第1、2、3和4个数字所描述的那样,子元素应该缩小以适应新的父级宽度。这种情况的例子(实际上我想要重现的情况)可以在 Chrome 浏览器标签中看到。标签具有最大宽度和最小宽度。如果你开始缩小浏览器的宽度,则标签将无法再适合,因此它们开始缩小,直到达到它们的最小宽度。
我已经确定了1、2、3和4,但不知道如何使它们缩小以适应父元素的宽度。非常感谢您的帮助。
示例 HTML:
- 始终保持在一行中(不会换到新行)。
- 宽度不应大于内容或其最大宽度中较小的那个。
- 当最大宽度限制其宽度时,使用省略号进行截断。
- 宽度不应小于最小宽度。
编辑:换句话说,如果父级大于子级的总宽度,则没有问题。子元素不应扩展以填充父级。如果父级变得小于子级的总宽度,就像第1、2、3和4个数字所描述的那样,子元素应该缩小以适应新的父级宽度。这种情况的例子(实际上我想要重现的情况)可以在 Chrome 浏览器标签中看到。标签具有最大宽度和最小宽度。如果你开始缩小浏览器的宽度,则标签将无法再适合,因此它们开始缩小,直到达到它们的最小宽度。
我已经确定了1、2、3和4,但不知道如何使它们缩小以适应父元素的宽度。非常感谢您的帮助。
示例 HTML:
<div class="container">
<div class="tab"><span>Bookmark</span></div><div class="tab"><span>Finish</span></div><div class="tab"><span>A</span></div><div class="tab"><span>Kala kazoo A Roosky Fantastic</span></div>
</div>
示例 CSS:
.container {
border: 1px solid blue;
white-space: nowrap;
}
.tab {
display: inline-block;
border: 1px solid red;
}
.tab span {
display: inline-block;
width: 100%;
min-width: 20px;
max-width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
JSFiddle: http://jsfiddle.net/ug3en/
目标浏览器:IE9+、现代版Chrome、现代版Firefox和现代版Safari。