Flexbox 侧边栏阻止主要内容在小屏幕上的侧边栏下环绕

杰思罗·黑兹赫斯特

我有一个包含主要内容的侧边栏,效果很好......问题是对于主要内容,我使用的是 bootstrap class .container

当前行为

当我缩小页面时,主要内容会在侧边栏下方弹出。

期望的行为

我希望 .container 缩小,以便侧边栏和主要内容适合屏幕。

我的密码

https://jsfiddle.net/4jm70ton/

标记:

<!-- site footer -->
<div class="footer">
    <div class="footer-group footer-group-left">
        <span>
            Slide 1/10
        </span>
        <span>
            <i class="fa fa-user"></i>
            &nbsp; 2 users connected
        </span>
    </div>
    <div class="footer-group footer-group-center">
        <a href="#">
            <i class="fa fa-arrow-left"></i>
        </a>
        <a href="#">
            <i class="fa fa-arrow-right"></i>
        </a>
    </div>
    <div class="footer-group footer-group-right">
        <a class="text-success" href="#">
            <i class="fa fa-check"></i>
        </a>
        <a class="text-danger" href="#">
            <i class="fa fa-times"></i>
        </a>
        <span>
            00:00
        </span>
    </div>
</div>
<!-- end site footer -->

CSS

body {
    background: #fafafa;
    box-shadow: 0 0 5rem rgba(0, 0, 0, 0.25) inset;
    display: flex;
    flex-wrap: wrap;
    min-height: 100vh;
    margin: 0;
    overflow-x:hidden;
}

/* chatbox */
.chatbox {
    background: white;
    display: flex;
    flex: 0 0 300px;
    flex-direction: column;
    height: calc(100vh - 60px);
    margin-left:-300px;

    -webkit-box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 30px -10px rgba(0,0,0,0.75);
    transition: margin 0.2s ease 0s;
}
.chatbox.toggled {
    margin-left: 0px;
}
.chatbox-tab {
    top: 30px;
    padding: 10px;
    position: absolute;
    color: #ffffff;
    background: #393B3C;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-right: 4px solid #535353;
    transition: background 0.2s ease 0s;
}
.chatbox-tab:hover {
    background: #555555;
    cursor: pointer;
}
.chatbox-content {
    padding: 15px;
    flex: 1;
    overflow-x: hidden;
    overflow-y: hidden;
}
.chatbox-content:hover {
    overflow-y: auto;
}
.chatbox-footer {
    /*align-self:flex-end;*/
    display:flex;
    border-top:1px solid #eeeeee;
    /*height: 100px;*/
}
.chatbox-footer input {
    flex: 1;
    margin: 0;
    padding:10px;
    border: none;
}
.chatbox-footer button {
    background: #7cd97c;
    color: #ffffff;
    margin: 0;
    padding: 0;
    border: none;
    padding: 10px 15px 10px 15px;
}
.chatbox-footer button:hover {
    background: #5bb85b;
    cursor: pointer;
}

/* main content */
.content {
    display: flex;
    flex: 1;
    align-items: center; /* vertical centering */
    justify-content: center; /* horizontal: centering */
    height: calc(100vh - 60px);
}

/* footer toolbar */
.footer {
    background: #292B2C;
    display: flex;
    flex-basis: 100%;
    height: 60px;
    padding: 0 20px 0 20px ;
}
.footer-group {
    flex: 1;
    display: flex;
}
.footer-group-left {
    justify-content:flex-start;
}
.footer-group-center {
    justify-content:center;

}
.footer-group-right {
    justify-content:flex-end;

}
.footer-group a, .footer-group span {
    padding: 0 20px 0 20px;
    color: #ffffff;
    text-decoration: none;
    align-self:stretch;
    display: flex;
    align-items: center;
}
.footer-group a:hover {
    background: #444444;
}
托塔科拉奇

内容在下面,因为这个内容的宽度是100%,并且旁边菜单的边距被下推。
解决方案是在切换时减少内容的宽度。当一边被切换时,
切换.toggled.content类,并应用此css

.content.toggled {
  width: calc(100% - 300px);
}

这是一个更新的小提琴:小提琴

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

简单的侧边栏导航以填充主要内容

Flexbox圣杯布局:固定标头,固定左导航,流体内容区,固定右侧边栏

如何使用flexbox来实现浮动的侧边栏布局,其内容会围绕侧边栏?

使用CSS在Flexbox中创建侧边栏

如何渲染组件以对侧边栏主要内容视图做出反应

Flexbox:将侧边栏的高度拉伸到父级

全高侧边栏与使用Flexbox的Wordpress一样

单击侧边栏项目时如何更改主要内容

Flexbox和左侧边栏覆盖

小屏幕上的自适应Flexbox

使用flexbox设置侧边栏的主要内容+粘页眉/页脚

物料UI停止Flexbox在小屏幕上

如何使用flexbox使固定宽度的侧边栏与灵活内容对齐

Flexbox布局,打开侧边栏时推送内容吗?

侧边栏可以滚动,但固定了主要内容

如何在Flexbox对齐的侧边栏上模拟“ position:fixed”行为

固定宽度的侧边栏和流体宽度主要内容区域可疑

Flexbox的“圣杯”布局,页脚位于侧边栏而不是下方

Flexbox页眉页脚侧边栏

如何获得侧边栏高度以适应主要内容框?

侧边栏在小屏幕的底部

Flexbox div 隐藏在小屏幕上

侧边栏使用 Flexbox:包含的链接没有正确展开

侧边栏,顶部和底部有两个 flexbox 导航

可滚动侧边栏中的 Flexbox 粘性页脚

如果主要内容很短,则带有页脚的可滚动侧边栏可见

CSS Grid 包含 2 个固定的侧边栏。主要内容没有正确定位

使用 flexbox 固定标题和侧边栏,无需手动设置偏移边距

修复了带有可滚动内容的 flexbox 侧边栏 - 没有解决方案有效