一旦放入firefox中的绝对/固定容器内,显示内置响应图像的内联块元素就会得到不正确的宽度

时间:2014-06-15 08:07:07

标签: css firefox

标题说明了一切。我在每个height: 100% display: inline-block个元素中都有<li>的图片。当他们的容器是position: static时。一切都是桃子。但是当我将其更改为position: absolute/fixed时,<li>元素会获得原始图像的宽度,而不是缩小的宽度,即使图像本身具有正确的尺寸。

此行为与Chrome中的预期相同,但在Firefox中中断。

有没有人遇到过这种行为?更重要的是,是否可以在没有JS的情况下修复它?

背景:我正在创建一个响应式position: fixed图库,该图库适合屏幕,图像缩略图覆盖视口底部20%。

隔离演示(单击按钮切换位置:静态/固定): http://jsfiddle.net/TomasReichmann/c93Xk/

整个画廊 http://jsfiddle.net/TomasReichmann/c93Xk/2/

2 个答案:

答案 0 :(得分:1)

我终于开始工作了。看来,当你宣布一些事情 Position:fixed, left: 0; top: 0; right: 0; bottom: 0; 只有chrome将其识别为“明确定义的尺寸”。一旦我加了高度:100%;其他浏览器赶上了。幸运的是,即使下面的内容溢出视口,height 100%也没有破坏布局。

http://jsfiddle.net/c93Xk/3/

当您尝试调整窗口大小时,它仍会在所有浏览器中均匀分布。我想,我必须用JS手动计算宽度

答案 1 :(得分:0)

DEMO

检查演示,那是你在寻找什么?

我添加了这两行css以使其工作:

/* Keep Position fixed at bottom */
#gallery:not(.toggle) { width: 100%; bottom: 0; top: auto; height: 20%; background: transparent; }
#gallery:not(.toggle) .gallery-thumbs{ height: 100%; }