Html IE9和:after/:hover Css属性导致页面增长

Html IE9和:after/:hover Css属性导致页面增长,html,css,internet-explorer-9,css-selectors,pseudo-element,Html,Css,Internet Explorer 9,Css Selectors,Pseudo Element,根据微软的说法,IE8和IE9支持:after选择器。如果里面的所有元素都是浮动的,我使用这个选择器强制元素具有适当的高度。这样可以正确显示背景,而无需指定设置的高度 我的后代码通常如下所示: .after:after{ content: '.'; height:0; line-height: 0; display:block; clear:both; visibility:hidden; } 现在来看看bug。当我添加了一些:在我的页面之后,我

根据微软的说法,IE8和IE9支持:after选择器。如果里面的所有元素都是浮动的,我使用这个选择器强制元素具有适当的高度。这样可以正确显示背景,而无需指定设置的高度

我的后代码通常如下所示:

.after:after{
    content: '.';
    height:0;
    line-height: 0;
    display:block;
    clear:both;
    visibility:hidden;
}
现在来看看bug。当我添加了一些:在我的页面之后,我徘徊在页面中间的每个Li元素上,IE9每次一页地增长。

编辑:

经过进一步调查,每个动态生成的li元素上的:hover属性似乎是问题的根本原因。删除li的悬停代码修复了该问题。当然,这不是我所希望的解决办法。我会继续调查的

目前,我无法找到解决这个问题的方法。但我知道,当网站开始失控时,我的用户可能会讨厌它

你试过使用

content: '';
而不是

content: '.';
在after元素中具有字符并将其设置为使用

display: block;
visibility: hidden;
仍将导致元素占用页面上的空间,这与使用时不同:

display: none;

我的猜测是,即使将:after元素的高度设置为0。元素中的元素导致Internet Explorer渲染不需要的高度。

我自己也遇到了这个问题。这可能与


minheight:0%
应用于包含元素。

似乎没有人对这个问题感兴趣,这很好。我有一个糟糕的解决方案(移除悬停),我将用ie9实现,直到找到一个更合适的垫片/修复。感谢你,好像url已经关闭了。你能发JSFIDLE吗。