【发布时间】:2015-10-24 00:42:28
【问题描述】:
我正在尝试使用带有 flexbox 的媒体查询来制作响应式布局。我需要制作一个布局,右侧有两个侧边栏,彼此正下方,如下所示: Image: aside right under the related 目前的情况是这样的(我也可以将框向右移动,但是相关下方仍然有一个空白,即使高度很好)。 Image: aside is on the the next line and not under the related 简化代码:
body {
display: flex;
flex-direction: row;
}
header {
flex: 0 1 25%;
}
main {
flex: 0 1 40%;
}
.related {
flex: 0 1 17%;
height: 100%;
}
aside {
flex: 0 1 17%;
}
footer {
display: flex;
flex: 0 1 100%;
}
我不能在 HTML 中为这两个框放置一个包装器(我不能在 HTML 本身中使用包装器,因此我使用 body 作为 flex 容器)。使用 flexbox 是否可以实现我想要的,或者我可以使用什么样的其他技术?我尝试了很多不同的高度,我什至尝试了 Javascript 来制作动态包装器,但是这对媒体查询效果不佳......
如果您需要更多信息,请告诉我。
【问题讨论】:
-
什么是 HTML...只有 5 个元素?我们是否可以更改 HTML?
-
很遗憾,我们根本无法更改 HTML。 HTML 只是一个标题、一个主要元素、一个旁白、一个相关的类和一个页脚(所有这些元素都包含更多的 HTML,但我认为这不相关?)。
-
然后副手...我会说你是 SOL。对不起。 JS 包装器出了什么问题...您可以将它与媒体查询结合起来,不是吗?
-
我创建了一个函数,将包装器添加到 DOM 的正确位置。我只是无法让它与 JS 中的媒体查询一起工作。 Javascript 似乎无法识别 em,我必须使用它们。我也无法让 eventListener 正常工作。
-
那么我建议您遇到的是 JS 问题……而不是 flexbox 问题。也许问一个新问题(您可能想删除这个问题),显示您尝试过的内容。 PS。演示很好...您可能希望在下一个问题中包含一个。
标签: css flexbox grid-layout