誰かが助けてくれることを願っています。
私は3つのネストされたdivを持っています。親、子供、子供の子供。
私が達成したいこと(動機は関係ありません)は、その子は親の幅(パーセンテージ)に応じて相対的な幅を取得し、子の子はその幅に応じてオーバーフロー楕円を持たなければならないということです。問題は、子の幅に%を使用すると省略記号が機能せず、幅をピクセルで定義すると機能することです。
これがHTMLです
<div class="a">
<div class="b">
<div class="c">
Here should go some text long enough to Ellipsis the overflow
</div>
</div>
</div>
これが機能しないCSSです
.a {
border:black 1px solid;
float: left;
width: 122px;
display: table;
line-height: 14px;
}
.b {
width:100%;
color: black;
font-size: 14px;
text-transform: uppercase;
cursor: pointer;
}
.c {
line-height: 11px;
width: 100%;
text-overflow: Ellipsis;
overflow: hidden;
white-space:nowrap;
}
ただし、bの幅を122pxに変更すると、完全に機能します(122pxは100%に等しいはずです)。
ここで確認できます: http://jsfiddle.net/vNRpw/4/
ありがとう!
持っていました display: table;
省略記号で問題を引き起こしていた最初のdivで。これを削除すると、省略記号は正常に機能します。
私はそれが誰かを助けるかもしれない質問を削除しません
ここで動作することを確認してください: http://jsfiddle.net/vNRpw/6/
このようなものはどうですか?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style media="all">
.a {
border:black 1px solid;
float: left;
width: 50%;
line-height: 14px;
}
.b {
width:100%;
color: black;
font-size: 14px;
text-transform: uppercase;
cursor: pointer;
}
.c {
line-height: 11px;
width: 98%;
text-overflow: Ellipsis;
overflow: hidden;
white-space:nowrap;
}
</style>
</head>
<body>
<div class="a">
<div class="b">
<div class="c">
Here should go some text long enough to Ellipsis the overflow
</div>
</div>
</div>
</body>
</html>
主な変更点は、.c
の幅を100%よりわずかに小さくすることでした。