当我们要插入Facebook like box时,我们会自动生成代码以插入我们的网站。
不幸的是,类似框的宽度很难烘焙到代码中:
<div class="fb-like-box" data-href="https://www.facebook.com/bibandtucker.net.au" data-width="450" data-colorscheme="light" data-show-faces="false" data-width="300" data-header="true" data-stream="true" data-show-border="false"></div>
如何让Facebook像盒子一样响应,以便减小宽度以容纳小于硬编码宽度值的内容区域?
您可以在this website上看到问题。观察缩小视口宽度时会发生什么。
答案 0 :(得分:2)
你可以通过这样做(用谷歌搜索)使它变得流畅:
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget span iframe[style] {
width: 100% !important;
min-width: 200px;
}
您可以通过查找它开始弄乱布局的位置来使其响应:
@media (max-width:1100px) {
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget span iframe[style] {
width: 100% !important;
min-width: 200px;
}
}
由于它是您无法控制的iframe,因此您无法对其进行进一步设计。
答案 1 :(得分:2)
这已经不再适用于2015年 - Facebook更新了他们的代码,因此最小宽度为180px。
要解决这个问题,你必须使用JS。
在这种情况下,.facebook-likebox是包装器(相对于其他元素动态缩放),而.fb-page是iframe的容器。代码是跨浏览器。
这是我的代码snippit:
facebookScale = function () {
var adjustWidth;
adjustWidth = $('.facebook-likebox').width() / 180;
return $('.fb-page').css({
'-webkit-transform': 'scale(' + adjustWidth + ')',
'-moz-transform': 'scale(' + adjustWidth + ')',
'transform': 'scale(' + adjustWidth + ')'
});
}
$(function(){
$(window).on('resize', facebookScale);
})
编辑:还要确保CSS中包含以下内容:
.fb-page{
transform-origin: 0 0;
-webkit-transform-origin: 0px 0px;
-moz-transform-origin: 0px 0px;
}
编辑2:Facebook似乎已经更新了小部件,现在最小宽度为180.所以代码已经更新以反映出来。小部件应调整大小以适应容器的宽度,否则
答案 2 :(得分:1)
<div class="fb-wrap">
<div class="fb-like-box" data-href="http://www.facebook.com/#"
data-width="100%" data-height="#"
data-show-faces="true" data-stream="false" data-header="false"></div>
</div>
.fb-wrap {
padding-top: 10px; width:90%; margin: 0 auto;}
.fb-like-box, .fb-like-box span, .fb-like-box span iframe[style]
{width: 100% !important; }
这对我来说很完美
答案 3 :(得分:0)
这适用于我的show faces true
.fb_iframe_widget,.fb_iframe_widget span,.fb_iframe_widget span iframe[style]
{max-width: 100% !important;}