我有一个包含链接和图像的缩略图列表,因此当用户悬停一个li元素时,它的高度变为100%,但由于某些奇怪的原因,它在Chrome中出错的问题.我不明白为什么在Chrome中悬停的li宽度不会调整为"新"尺寸.
(注意:这是我的问题的简化版本)
此外,此问题仅发生在:hover.但不,让我们说吧:nth-child

强制重绘每个mousehweel事件...
thumbs.hide().show(0);
我的解决方案:解决方案游乐场
这个想法是通过给图像一个与状态几乎相同的新高度来欺骗 Chrome 重新计算宽度li:hover。但这对于 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%; }
Run Code Online (Sandbox Code Playgroud)