Chrome for Facebook的奇怪CSS行为就像框一样

时间:2014-01-20 18:47:34

标签: css google-chrome iframe facebook-likebox

我在Chrome上遇到这种奇怪的行为(我测试了Windows和Linux版本)。我也在Firefox上对它进行了测试,但它可以正常运行。

我将Facebook Like Box显示在Wordpress侧面小部件中。 (它使用官方Facebook插件,虽然如果输出有问题我可以自己轻松改变它)。实际上它的功能包括iFrame。

  1. 小部件底部的Facebook徽标下方会出现一个奇怪的白色填充。关于这一点的奇怪之处在于,当我将鼠标悬停在仅改变其颜色的标题上时,该框突然自动将高度调整到正确的高度。您可以看到here右边的Facebook Like Box小部件(从顶部第3个方框)有一些白色填充。将鼠标移到'喜欢我们?'上标题,它会突然调整到正确的高度。

  2. 当用户导航到另一个页面并返回到该页面时,会出现更严重的问题。打开页面后,在地址栏中输入另一个URL,例如www.google.com。加载后,只需点击Chrome浏览器的“后退”按钮即可。你会突然看到Facebook Like Box没有像以前一样呈现,但它会在一个更浅的框中呈现,并且会出现丑陋的滚动条。

  3. 发生这种情况的原因是什么?这是我第一次遇到这些看似无关的行为时出现的奇怪问题(悬停链接并点击后退)

1 个答案:

答案 0 :(得分:3)

据我所知,在servicebox框(包含类似框)中,您有一个div,其serviceheadingfloat: left;servicebox。我想这可能会给你带来麻烦,因为.servicebox本身没有任何属性来包含浮点数。您可以尝试向overflow: hidden;添加clearfix解决方案,或尝试添加.fb_iframe_widget作为快速修复。这可能会解决您的第一个问题。

就第二个问题而言。我会尝试添加一些属性来检查它们是否有用。

  • 通过clear: left;使.fb_iframe_widget清除浮动徽标 将使这个区块始终位于徽标之下。
  • 通过display: block; inline-block使.fb_iframe_widget iframe成为一个块元素 现在 - 它是max-width: 100%;)。它会自动给它宽度 父元素(303px)
  • 制作以下选择器iframe并添加 <span>到它。这些样式将确保.fb_iframe_widget 不会变大 - 所以滚动按钮可能 消失。

希望它会有所帮助。

<强>更新

出于某种原因,当按下后退按钮时,.fb_iframe_widget iframe { height: 230px !important; width: 300px !important; } .fb_iframe_widget span { height: 230px !important; width: 300px !important; } 内的{{1}}被设置为高度和宽度为0px。以下解决了这个问题,虽然它有点破解,高度和宽度必须硬编码:

{{1}}