[〜#〜] html [〜#〜]
<div class="container">
<div id="setter">
<span>some variable content</span>
</div>
<div class="wrap">
<span>
lorem ipsum lorem ipsum lorem ipsum lorem ipsum
</span>
</div>
</div>
[〜#〜] css [〜#〜]
.container {
max-width: 200px;
}
.wrap {
overflow: hidden;
text-overflow: Ellipsis;
white-space: nowrap;
}
ケース:
.wrap
div内のスパンの幅に基づいて、#setter
クラス内のスパンの幅を動的に設定する必要があります。あなたがCSSで見ることができるように、私は2番目のdivでEllipsis
オーバーフローを使用しています。 setter
divコンテンツの長さはさまざまです。つまり、lorem ipsum
テキストが最初のdivのコンテンツよりも広くならないようにすることが目標です。
コードペン: http://codepen.io/jacek213/pen/pbPkmQ
純粋なCSSでこれを達成したいのですが、それは可能ですか?そうでない場合は、js(jqueryの使用は問題ありません)の角度に優しいソリューションを歓迎しますが、この構造で構築された多数のレコードを一度に表示するため、効率的である必要があります。
それは少しギミックですが、それは純粋なCSSで行うことができます
#setter {
display: inline-block;
}
.container {
max-width: 200px;
position: relative;
display: inline-block;
padding-bottom: 1.125em;
}
.wrap {
overflow: hidden;
text-overflow: Ellipsis;
white-space: nowrap;
position: absolute;
left: 0;
right: 0;
}
<div class="container">
<div id="setter">
<span>some variable content</span>
</div>
<div class="wrap">
<span>
lorem ipsum lorem ipsum lorem ipsum lorem ipsum
</span>
</div>
</div>
CSSでこれを達成できるとは本当に思っていません。このようなjqueryソリューションを試してください:
var $setter = $("#setter");
$setter.siblings(".wrap").css("max-width", $setter.width()+"px");