html - IE9 和 :after/:hover Css property causing page to grow

标签 html css internet-explorer-9 css-selectors pseudo-element

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

我的代码通常如下所示:

.after:after{
    content: '.';
    height:0;
    line-height: 0;
    display:block;
    clear:both;
    visibility:hidden;
}

那么现在来解决这个问题。当我在 https://spartanstats.com/reach-stats-gamertag 上添加一些 :after 到我的页面时并将鼠标悬停在页面中间的每个 li 元素上,IE9 每次都会将页面增长一行。

编辑:

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

目前我正在寻找解决此问题的方法。但我知道当网站开始失控时,我的用户可能会讨厌它!

最佳答案

我自己遇到过这个问题。可能与this issue有关

min-height: 0% 应用于包含元素。

关于html - IE9 和 :after/:hover Css property causing page to grow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768401/

相关文章:

html - 当同级 div 的高度因内容而较大时,为什么 div 不将文本与包含 div 的顶部对齐?

javascript - 从变量中获取 <img> 标签源

html - 仅使用 css 在悬停时隐藏同级 div

html - 在标题中输入右拉按钮

css - 如何在具有布局模板的页面中添加标题部分

html - CSS3 IE9 点击通过伪元素?

html - IE9 条件语句不起作用?

html - 没有垂直间隙的响应式网格样式布局中的 Div

c# - 从一个 .net 网站构建多个站点

ajax - angularjs $scope.$apply() 不会更新 ajax IE9 上的选择列表