如何并排放置两个div,其中LEFT一个适合其他,另一个占用剩余空间?

时间:2013-09-16 08:58:23

标签: css3 html ellipsis

我正在尝试使用以下标准将两个div放在一起:

  1. 两个div必须保持在同一条线上。
  2. 必须优先考虑左div。尽可能多的文本应显示在左边的div中,直到溢出的情况下使用省略号。
  3. 正确的div文本应该右对齐。在溢出的情况下,应使用省略号。
  4. 文字是动态的,因此不能使用百分比或固定宽度。
  5. 只需要使用基于webkit的浏览器,因此首选CSS3解决方案。
  6. 以下是一些样本图片:

    输入

    <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>
    

    输出

    enter image description here

    输入

    <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>
    

    输出

    enter image description here

    输入

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

    输出

    enter image description here

2 个答案:

答案 0 :(得分:9)

我有它的例外,当有空的空间时,我的右边的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;
}

最后:

enter image description here

答案 1 :(得分:0)

容器宽度除了可以在%中定义这里是一个解决方案。 唯一有效的裂缝是将容器背景放在儿童背景上。

或者最后一个条件真的很难实现:)只是真的。

这是小提琴链接

width fiddle

这是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;
}

如果适合,请查看它。如果某人对您粘贴的最后一张图片有另一种解决方案,那么最后条件真的很难,请分享:)