Responsive design 制作一个类似Facebook的盒子
当我们想要插入一个文件时,我们会得到自动生成的代码来插入我们的网站 不幸的是,like框的宽度在代码中很难确定:Responsive design 制作一个类似Facebook的盒子,responsive-design,facebook-like,Responsive Design,Facebook Like,当我们想要插入一个文件时,我们会得到自动生成的代码来插入我们的网站 不幸的是,like框的宽度在代码中很难确定: <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-s
<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的盒子具有响应性,从而使其宽度减小,以容纳小于硬编码宽度值的内容区域
你可以在屏幕上看到这个问题。观察缩小视图端口宽度时会发生什么情况。您可以通过这样做使其流动(谷歌搜索): 您可以通过查找开始破坏布局的位置使其响应:
@media (max-width:1100px) {
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget span iframe[style] {
width: 100% !important;
min-width: 200px;
}
}
因为它是一个您无法控制的iframe,所以您无法进一步设置它的样式
演示:您可以通过这样做使其流动(谷歌搜索): 您可以通过查找开始破坏布局的位置使其响应:
@media (max-width:1100px) {
.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget span iframe[style] {
width: 100% !important;
min-width: 200px;
}
}
因为它是一个您无法控制的iframe,所以您无法进一步设置它的样式
演示:
.fb包裹{
填充顶部:10px;宽度:90%;边距:0自动;}
.fb-like-box、.fb-like-box-span、.fb-like-box-span iframe[样式]
{宽度:100%!重要;}
这非常适合我
.fb包裹{
填充顶部:10px;宽度:90%;边距:0自动;}
.fb-like-box、.fb-like-box-span、.fb-like-box-span iframe[样式]
{宽度:100%!重要;}
这对我来说非常合适这对我来说很合适,表情真实
.fb_iframe_widget,.fb_iframe_widget span,.fb_iframe_widget span iframe[style]
{max-width: 100% !important;}
这对我来说真的很有用
.fb_iframe_widget,.fb_iframe_widget span,.fb_iframe_widget span iframe[style]
{max-width: 100% !important;}
这在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。因此,代码已经更新以反映这一点。这个小部件应该调整大小以适应容器的宽度,否则这从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。因此,代码已经更新以反映这一点。否则,小部件应该调整大小以适应容器的宽度