这是我的代码的小提琴:http://jsfiddle.net/kizu/GCahV/(在Firefox和任何其他现代浏览器中进行比较)
我想要实现的目标:
float
的块),它有两个部分:左和右。max-width
{%
或px
中的inline-block
。使用float
,overflow: hidden
和max-width
我在最新的Chrome,Safari和Opera中使其运行良好,但遭遇Firefox有一个错误:左侧部分缩小当正确的部分很长时。
我发现的唯一的CSS解决方法是在弹性框模型中尝试Fx的位置元素,但它并不完美:我无法让父级拥有width
(或max-width
在所有)。
到目前为止,这是我最好的尝试:http://jsfiddle.net/kizu/GCahV/1/
所以,问题是:
.b-shrinker
的{{1}}?答案 0 :(得分:1)
{ max-width: 100%; width: 100% }
,它在Fx,WebKit和Opera中看起来不错。 http://jsfiddle.net/GCahV/11/ 答案 1 :(得分:0)
好的,所以稍微玩一下flexbox我找到了一个不错的解决方案:http://dabblet.com/gist/4701626
它唯一的问题是Fx丢失左侧部分的省略号,但这是一个小问题,因为其他一切正常。
所以,这是修复它的代码:
.b-wrapper_fixed .b-shrinker__in {
display: -moz-box;
-moz-box-orient: horizontal;
-moz-box-direction : reverse;
}
.b-wrapper_fixed .b-shrinker__left {
white-space: normal;
word-break: break-all;
-moz-box-flex: 1;
height: 1.2em;
}
.b-wrapper_fixed .b-shrinker__right {
-moz-box-flex: 1;
}
除了使块具有弹性外,左侧块需要white-space:normal
和word-break: break-all
,因此左侧部分的长内容不会使该部分长于主体。要使溢出的内容隐藏,可以设置height
。
所以,剩下的唯一问题就是缺少省略号,所以如果有人能找到解决方案 - 我会很感激。