Adr*_*idt 7 css css3 internet-explorer-9 internet-explorer-10
http://jsbin.com/ararar/5/edit
tl; dr 以上链接是下面进一步描述的问题的快速示例.单击li:s将其删除,然后在IE9或IE10中查看渲染故障.
在我的团队正在构建的应用中,我们有一个搜索结果框,根据匹配数量改变高度.元素应用了一个box-shadow.当盒子变小时,问题出在IE9和IE10中.IE似乎会"忘记"盒子阴影,只重新渲染元素的内部部分.盒子阴影仍将呈现在已调整大小的元素的底部,但阴影的副本通常会保留在元素调整大小之前渲染的位置.
如果有任何方法可以解决这个问题,那么任何信息都会非常受欢迎.
小智 14
我从Andy那里得到了解决方案,但是我没有在标记中添加一个空元素,而是在父节点上添加了一个空的CSS伪元素(带有阴影的元素,而不是调整大小的元素).
.shadowed-element:after { content: ""; }
Run Code Online (Sandbox Code Playgroud)
与jQuery中的动画高度完美配合,在动画期间重新绘制,而不仅仅是在最后.谢谢安迪让我走上正轨!
(我意识到这个答案有点晚了,但我认为值得记录一个有效的解决方案/解决方法.)
我最近遇到了类似的问题.解决方案似乎是<div>在带有框阴影的标签下面添加一个额外的标签.确保这两个<div>s 之间没有边距,并且高度至少与底部阴影的高度一样高,宽度与阴影一样宽.这似乎迫使IE重新绘制底部<div>向上移动时阴影所在的区域.
在你的情况下,我添加了左边距和右边距<div>与框阴影以及添加"阴影修复" <div>.你可以在这里看到新版本:http:
//jsbin.com/ararar/51/edit
希望能帮助你或其他人.