html - CSS如何在保持居中的同时 Conceal 调整大小的div

标签 html css facebook

我正在开发 Facebook 应用程序(我不是 CSS 专家。)。 iframe Canvas 是液体的,例如。宽度 100%。

应用程序的主要 div 宽度为 500 像素。主 dic 有左右两个 div(见下图)。左右 div 的宽度必须相同。

当用户调整浏览器窗口大小时,我希望主 div 以固定宽度居中,而左右 div 必须适当调整大小以仅占用可用空间。

如果左右 div 没有空间,它们必须消失。主 div 必须居中。

enter image description here

非常感谢您的帮助。

</style>
body{
  margin: 0px;
  padding: 0px;
}
#main{
  width: 300px;
  display: inline-block;
  background: red;
}
#left, #right{
  width: calc(50% - 150px);
  display: inline-block;
  background: green;
}
@media (max-width: 400px) { 
  #left, #right{
    display: none;
  }
}
</style>
<body>
<div style="text-align: center;">
<div id="left">1</div><div id="main">2</div><div id="right">3</div>
</div>
</body>

这是我目前所拥有的:http://jsfiddle.net/clicker314/L77jh8ak/4/

最佳答案

如果你愿意使用 calc() CSS 函数,这个问题相对容易解决:

#main{
  width: 500px;
  display: inline-block;
}
#left, #right{
  width: calc(50% - 250px);
  display: inline-block;
}

因此,左右 div 根据屏幕宽度的一半减去主元素的一半来调整它们的高度。如果您想要回退,请在 calc() 宽度规则之前的行中添加另一个“宽度:”规则。

这适用于所有现代浏览器,包括 IE 10+。如果你想要 IE 8/9 支持,添加我上面提到的第二个宽度规则。

对于 IE 8/9 支持,您有两个选择: 1. 为这两个选项指定宽度。 IE。 #left, #right{width: 200px;}。 2. 添加一些JS/jQuery来模仿CSS的calc()函数。

要 Conceal 特定尺寸的 div,请添加媒体查询(我添加的 600px 是假设的,选择您喜欢的任何最小屏幕尺寸):

@media (max-width: 600px) { 
  #left, #right{
    display: none;
  }
  #main{
    width: 100%;
  }
}

#main 规则是可选的。它假定您希望 #main div 占用容器中的所有可用空间。

关于html - CSS如何在保持居中的同时 Conceal 调整大小的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552282/

相关文章:

css - 流体布局,导航栏向下移动但在窗口调整大小时它重叠

ios - Swift Facebook SDK 无法工作,出现 "Include of non-modular header..."错误

html - 图像在不同尺寸的显示器上偏移了几个像素,如何解决?

php - 阅读网站页面

css - 如何在 bootstrap 上操作悬停的东西?

php - 在哪里放置 FB.Event.subscribe

使用 webview 登录 android facebook

javascript - 动态添加的div没有触发点击事件

javascript - 通过 JS (quilljs) 注入(inject)的 HTML 元素与 flexbox 冲突

css - 带有滚动条的 Facebook Like 框 - 可以设置样式吗?