15

次の基準で、2 つの div を並べて配置しようとしています。

  1. 両方の div が同じ行にある必要があります。
  2. 左の div を優先する必要があります。オーバーフローの場合に省略記号が使用されるポイントまで、できるだけ多くのテキストを左側の div に表示する必要があります。
  3. 右の div のテキストは右揃えにする必要があります。オーバーフローの場合は、省略記号を使用する必要があります。
  4. テキストは動的であるため、パーセンテージや固定幅は使用できません。
  5. webkitベースのブラウザでのみ動作する必要があるため、CSS3ソリューションが優先されます。

これがどのように見えるかのサンプル画像を次に示します。

入力

<div class='left'>I should always fit. If not, ellipsis should be used.</div><div class='right'>Right align and fit me if space available here.</div>

出力

ここに画像の説明を入力

入力

<div class='left'>I should always fit. If not, ellipsis should be used. And some more text and more, and more text.</div><div class='right'>Right align and fit me if space available here.</div>

出力

ここに画像の説明を入力

入力

<div class='left'>This text is left aligned.</div><div class='right'>This text is right aligned.</div>

出力

ここに画像の説明を入力

4

2 に答える 2

10

空のスペースがある場合、右のdivがそれを食べていることを除いて(テキストを右揃えで)持っています。それは質問として挙げていないので、どうやって描いたのかわかりませんでしたか?ここでフィドル: http://jsfiddle.net/mdares/fSCr6/

HTML:

<div class="container">
    <div class="left">Some Text, Repeat, Repeat, Repeat, ,Some Text, and then: </div>
    <div class="right">other Text ttt other Text tttother Text tttother Text ttt</div>
</div>

<p />

<div class="container">
    <div class="left">Some Text, Repeat, Repeat, Repeat, ,Some Text, Some Text, Repeat, Repeat, Repeat, ,Some Text,</div>
    <div class="right">other Text ttt other Text tttother Text tttother Text ttt</div>
</div>

<p />

<div class="container">
    <div class="left">Some Text, Repeat, Repeat, Repeat, ,Some Text, </div>
    <div class="right">other Text ttt</div>
</div>

CSS:

.container {
    width: 600px;
}
.left {
    max-width: 100%;
    background:red;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -ms-text-overflow:ellipsis;
    float: left;
}
.right {
    background:yellow;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -ms-text-overflow:ellipsis;
    text-align: right;
}

そして最後に:

ここに画像の説明を入力

于 2013-09-24T17:14:18.763 に答える
0

% で定義できるコンテナの幅を除いて、ここに解決策があります。機能した唯一の亀裂は、コンテナの背景を子のものと同じにすることでした。

そうでなければ、最後の条件を達成するのは本当に難しいです:) ただ真であること。

ここにフィドルリンクがあります

幅フィドル

ここにCSSがあります

.container {
width: 100%;
overflow:hidden;
whitespace:nowrap;
max-width:100%;
    background-color:red;
}
.left {
    width:auto;
    background:red;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -ms-text-overflow:ellipsis;
    float: left;
    position:absolute;
    max-width:inherit;
}
.right {
    background:yellow;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    -ms-text-overflow:ellipsis;
    text-align: right;
    width:auto;
    float:right;
}

適合するかどうかを確認してください。最後に貼り付けた画像に対する別の解決策がある場合、最後の条件は本当に厳しいです。共有してください:)

于 2013-09-25T12:56:51.360 に答える