1

出于某种原因,当用户从控制面板将其显示设置为 125% 时,IE9 会为元素添加额外的宽度,如下所示:

<div class="container" id="main" style="width: 1500px">
<!-- Code goes here-->
</div>

上面的内联样式(带宽度)是IE9添加的。IE8没有这个问题,肯定是Windows显示设置为125%触发的。Chrome 和 Firefox 也可以正确显示内容,而无需额外的样式。不要认为有人对此有解决方法或解决方法吗?无法控制用户的设置,但我已经看到其他网站正常呈现。

4

2 回答 2

1

好的,所以我用条件注释和一些 jQuery 解决了这个问题:

<!--[if IE 9]>
  <script type="text/javascript">
      window.onload = function () {
        if ( $('#main').attr('style') !== 'undefined' ) {
          $('#main').removeAttr('style');
        }
      }
  </script>
<![endif]-->

基本上,它会检查 IE 是否在有问题的元素上放置了“样式”属性,如果是,则删除该属性。

于 2012-09-25T13:43:57.787 回答
0

是的,或者如果您想对宽度和高度更具选择性

jQuery(document).ready(function () {
    removeInlineWidthHeightElements($('#main'));
});

function removeInlineWidthHeightElements(element) {
    element.attr('style', function (i, style) {
        return style.replace(/width[^;]+;?/g, '').replace(/height[^;]+;?/g, '');
    });
}

是否可以使用 jQuery 删除内联样式?

于 2014-05-15T09:12:32.003 回答