2014-10-08 55 views
0

我有一个有趣的挑战,让两个内联文本元素以特定方式运行。这里是我的参数:内联divs:收缩一个,隐藏另一个的溢出

  • 左侧将在宽度不一,从父宽度的约30-60%的正文
  • 右侧的补充文本与父宽度的20-120%差异很大。
  • 父宽度是响应式的,可以收缩到全宽的75%。绝对定位不会。
  • 每当这两个项目不适合,我想正文保持完全可见(没有省略号)和补充文本隐藏溢出:
    • 溢出:隐藏
    • 文本溢出:省略号

两个CSS和HTML是完全可以修改,但我宁愿如果HTML保持语义。如果有这样一个好方法,请随意使用JS/jQuery。

http://jsfiddle.net/gksfwozz/1/

.outer { 
 
    width: 200px; 
 
    background-color: skyblue; 
 
    border: 3px solid skyblue; 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
.left { 
 
    background-color: salmon; 
 
    white-space: nowrap; 
 
    overflow: hidden; 
 
    text-overflow: ellipsis; 
 
} 
 
.right { 
 
    background-color: blanchedalmond; 
 
    white-space: nowrap; 
 
    overflow: hidden; 
 
    text-overflow: ellipsis; 
 
}
<div class="outer"> 
 
    <div class="left"> 
 
     MAIN TEXT 
 
    </div> 
 
    <div class="right"> 
 
     additional info sdjkfhsdf 
 
    </div> 
 
</div>

回答

1

我改变你的CSS一点点。这里是一个fiddle

对于.left我添加了浮动和最大宽度(因为你将它推到容器的60%),我删除了overflow:hidden因为你总是想要它。

.left { 
background-color: salmon; 
white-space: nowrap; 
max-width: 60%; 
float: left; 
} 

我删除了显示:flex from .outter。我认为这是你想要的。

+0

非常好!它的确回答了我的问题,尽管你的微小修改不是我想要的。但是,他们既不是你的错,也不是相关的。感谢您解决我的问题!我会回答其他人回答2分钟前你:( – 2014-10-08 20:39:29

+0

没关系,重要的是你得到你想要的东西,但我是在另一个人前2分钟回答!)现在我的回答是16分钟前回答,但他的回答在14分钟前回答,所以我是第一个,但无论如何! @ jonas.ninja;) – 2014-10-08 20:44:35

+0

你是对的!我弄糊涂了我的号码。授予你! – 2014-10-08 20:55:24

1

.outer { 
 
    width: 200px; 
 
    background-color: skyblue; 
 
    border: 3px solid skyblue; 
 
    overflow:hidden; 
 
} 
 
.left { 
 
    float:left; 
 
    background-color: salmon; 
 
    white-space: nowrap; 
 
    overflow: hidden; 
 
    text-overflow: ellipsis; 
 
} 
 
.right { 
 
    background-color: blanchedalmond; 
 
    white-space: nowrap; 
 
    overflow: hidden; 
 
    text-overflow: ellipsis; 
 
}
What I have: 
 
<div class="outer"> 
 
    <div class="left"> 
 
     MSGDFGDFGDFDFGDFGDFGDFG 
 
    </div> 
 
    <div class="right"> 
 
     adfhdfgh 
 
    </div> 
 
</div>

http://jsfiddle.net/gksfwozz/2/

从这个链接How to get these two divs side-by-side?

+0

优秀!你的嵌入式代码看起来不太好,但是你链接的JSfiddle就是这个技巧。有趣的是,你的答案与其他人的答案几乎相同。 – 2014-10-08 20:40:16

相关问题