省略記号を表示するには、 css text-overflowを使用できます。AFAIKですが、オーバーフローがどこで発生するかを認識できるように、コンテナに幅を与える必要があります。
この CSS プロパティは、オーバーフローの発生を強制しません。そのようにして text-overflow を適用するには、作成者はオーバーフローを非表示に設定するなど、いくつかの追加プロパティを要素に適用する必要があります。
DOM がロードされた後に、.titleOptions の幅に基づいて .title の幅を動的に設定するために、いくつかの JavaScript コードを実行できます。
これは、あなたがやろうとしていることの静的な例です:
.title {
float:left;
border: 1px solid #DDD;
white-space:nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 76%;
}
js を使用して幅を動的に設定してみてください。
編集: これは、javascript (および小さな jQuery) を使用して幅を動的に設定する方法の例です。上記の css を使用して.title
( を除く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/