15

我正在尝试使用以下标准将两个 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 回答