css – 当高度变化时,Chrome不会重新计算宽度

前端之家收集整理的这篇文章主要介绍了css – 当高度变化时,Chrome不会重新计算宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含链接和图像的缩略图列表,因此当用户悬停一个li元素时,它的高度变为100%,但由于某些奇怪的原因,它在Chrome中出错的问题.我不明白为什么在Chrome中悬停的li宽度不会调整为“新”尺寸.

(注意:这是我的问题的简化版本)

此外,此问题仅发生在:悬停.但不,让我们说:nth-​​child

Playground link

更新:问题继续…在答案中查看我的解决方案,但问题仍然存在.我已经用鼠标放大了,你会发现它正在发生..注意图像数量可能很大.

更新2:

强制重绘每个mousehweel事件…
.thumbs.hide()显示(0);

解决方法

我的解决方案: Solution playground

我们的想法是通过在li:hover状态下为图像提供几乎相同的新高度来欺骗Chrome重新计算宽度.但这对Chrome来说还不够.转换也必须应用于img.这是所有伏都教编码,但这是我能想到的最难看的解决方案:

ul{ list-style:none; display:inline-block; height:80px; white-space:pre; width:100%; }
  li{ display:inline-block; vertical-align:middle; height:60%; -webkit-transition:.2s; transition:.2s; }
  li:hover{ height:100%; }
    li a{ height:100%; padding:0 2px; display:block; }
    li a img{ height:96%; -webkit-transition:.2s; transition:.2s; }
    li:hover a img{ min-height:96%; }

猜你在找的CSS相关文章