要显示省略号,您可以使用css text-overflow。虽然 AFAIK,但您需要给容器一个宽度,以便它知道溢出将发生在哪里。
此 CSS 属性不会强制发生溢出;为此并应用文本溢出,作者必须在元素上应用一些附加属性,例如将溢出设置为隐藏。
您可以在 DOM 加载后运行一些 javascript 代码以根据 .titleOptions 的宽度动态设置 .title 的宽度。
这是您尝试执行的操作的静态示例:
.title {
float:left;
border: 1px solid #DDD;
white-space:nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 76%;
}
尝试使用js动态设置宽度。
编辑:这是一个如何使用 javascript(和一点 jQuery)动态设置宽度的示例。使用.title
上面的 css(减去width: 76%;
),我添加了这个 js:
function getChildByClassName(ele, className) {
for(var i = 0; i < ele.childNodes.length; i++) {
if($(ele.childNodes[i]).hasClass(className)) {
return ele.childNodes[i];
}
}
}
var titleBars = document.getElementsByClassName('titleBar');
var w = 0;
var spacer = 10;
for(var i = 0; i < titleBars.length; i++) {
w = titleBars[i].clientWidth;
w = w - getChildByClassName(titleBars[i], 'titleOptions').clientWidth - spacer;
$(titleBars[i]).children('.title').eq(0).css('width', w + 'px');
}
http://jsfiddle.net/K8s3Z/8/