IE 8中的Adsense - 无法正确显示

时间:2013-10-11 16:53:46

标签: css internet-explorer-8 adsense ie8-compatibility-mode ie-developer-tools

我一直在用mybb建立一个论坛。我已经使用Adsense将几个广告合并到网站中,但它们在IE8中无法正确显示。它们在IE10(兼容模式下的IE8),Chrome和Firefox中都很好看。问题是IE8中的广告似乎未对齐1或2像素。

在开发模式中,我已经识别出一条我认为是由Adsense创建的行,因为它不是我原始代码的一部分,这似乎会导致问题。

display: inline-table。如果我取消选中此选项,则网站上的广告会与内容对齐。但由于这是一个动态创建的代码,我无法编辑它...(或者我可以吗?)

任何人都可以帮我解决这个问题并让我的广告与我的其他内容一致吗?

编辑:

我从Google Adsense获得的代码是:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- ShowThreadSideSquare -->
<ins class="adsbygoogle"
     style="display:inline-block;width:200px;height:200px"
     data-ad-client="ca-pub-6454993037050681"
     data-ad-slot="7524464050"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

当我通过IE中的开发屏幕查看它时,它已经扩展到更多,但这是inline-table注释的行,这似乎使它在IE8中不对齐。但我似乎无法编辑它,因为它不在我的源代码中......

<ins style="width: 200px; 
          height: 200px; 
          padding-top: 0px; 
          padding-right: 0px; 
          padding-bottom: 0px; 
          padding-left: 0px; 
          margin-top: 0px; 
          margin-right: 0px; 
          margin-bottom: 0px; 
          margin-left: 0px; 
          border-top-color: currentColor; 
          border-right-color: currentColor; 
          border-bottom-color: currentColor; 
          border-left-color: currentColor; 
          border-top-width: medium; 
          border-right-width: medium; 
          border-bottom-width: medium; 
          border-left-width: medium; 
          border-top-style: none; 
          border-right-style: none; 
          border-bottom-style: none; 
          border-left-style: none; 
          display: inline-table; 
          visibility: visible; 
          position: relative;">

3 个答案:

答案 0 :(得分:0)

我要做的是解决这个问题,然后将代码放在div内并将样式添加到div中,以便div对齐。它应该足够分离代码以使其自身对齐。

如果你提供一个JSFiddle我可以帮助你更多,但我认为你有一般的想法。

答案 1 :(得分:0)

在您从Google Adsense获得的代码中,您应该更改样式:

<ins style="display:inline-block;width:200px;height:200px" > </ins>

为:

<ins style="display:inline-block;width:200px;height:200px; margin:0 auto;" > </ins>

你要展示的第二组代码是IE(8)如何在兼容模式下呈现HTML / CSS,你需要指定浏览器应该如何显示HTML,如果你没有指定一些他们不会自动分配属性,但有些浏览器会假设某些东西。

答案 2 :(得分:0)

我知道这已经过时了,但我遇到了同样的问题,这就是解决方案..

只需将此文件添加到您的CSS文件中,该文件将覆盖导致问题的内联表。

ins
{
display: inline-block !important;
}