gpt4 book ai didi

html - 具有多个侧边栏的 Flexbox 响应式布局

转载 作者:太空宇宙 更新时间:2023-11-04 16:25:34 24 4
gpt4 key购买 nike

有没有办法让 flexbox 有 5 个元素,其中 4 个是 75% 容器宽度,然后元素 4 是 25% 并显示为侧边栏?

最终我想把元素 3 也变成第二个侧边栏。

手机

|_container 1_|
|_container 2_|
|_container 3_|
|___sidebar___|
|_container 4_|

桌面

|_container 1_|_sidebar_|
|_container 2_| |
|_container 3_| |
|_container 4_| |

大桌面

|_container 1_|_container 4_|_sidebar_|
|_container 2_| | |
|_container 3_| | |

最佳答案

这是我尝试通过 Flexbox 实现布局,在下面的示例中调整输出面板的大小以查看效果:

EXAMPLE HERE

<div class="wrapper">
<div class="item container-1">Container 1</div>

<div class="wrapper group">
<div class="item container-2">Container 2</div>
<div class="item container-3">Container 3</div>
</div>

<aside class="item sidebar">Sidebar</aside>
<div class="item container-4">Container 4</div>
</div>
* { box-sizing: border-box; }

.wrapper { display: flex; flex-flow: row wrap; }
.item { text-align: center; padding: .3em; }
.group, .item { flex: 1 100%; }

/* Medium devices */
@media (min-width: 768px) {
.item { flex: 0 75%; }
.container-1 { order: -2; flex: 1 auto; }
.sidebar { order: -1; flex: 0 25%; }
}

/* Large devices */
@media (min-width: 992px) {
.item { flex: 1 50%; }
.container-1 { order: -3; flex: 1 auto; }
.container-4 { order: -2; flex: 0 25%; }
.sidebar { order: -1; flex: 0 25%; }
.group { flex: 0 50%; }
}

注意:需要供应商前缀来支持早期版本的网络浏览器,例如 IE10 (但不像 IE9 一样旧!)。我用了Autoprefixer demo (感谢Codepen!)。如果您点击“切换编译 View ”,您将看到带有前缀的 CSS 声明版本。

您可能还想更改 @media 查询的断点以满足您的需要。

最后但同样重要的是,如果您不熟悉 CSS Flexible Box Layout您可以引用以下资源:

关于html - 具有多个侧边栏的 Flexbox 响应式布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25594384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com