Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Responsive design 制作一个类似Facebook的盒子_Responsive Design_Facebook Like - Fatal编程技术网

Responsive design 制作一个类似Facebook的盒子

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

当我们想要插入一个文件时,我们会得到自动生成的代码来插入我们的网站

不幸的是,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-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。因此,代码已经更新以反映这一点。否则,小部件应该调整大小以适应容器的宽度