使用宽度与使用最小宽度和最大宽度

时间:2019-03-27 15:50:24

标签: css flexbox

即使页面的宽度发生变化,尝试将元素保持在设定的恒定宽度时,使用css width参数的最佳方法是什么?

(即width: 20rem; & min-width: 20rem;min-width: 20rem; & max-width: 20rem;

仅使用 width: 20rem; 会导致边栏因宽度变化而缩小:

侧边栏的预期宽度:

Expected width of the sidebar


当我希望它保持相同大小时,侧边栏会缩小:

Sidebar shrinks when I would like it to remain the same size


但是使用 width: 20rem; & min-width: 20rem; 似乎可以解决此问题。

侧边栏的预期宽度:

Expected width of the sidebar


侧边栏的预期宽度保持不变:

Expected width of the sidebar remains


还使用 min-width: 20rem; & max-width: 20rem; 似乎也可以解决此问题。

使用最大宽度的预期宽度:

Expected width using max-width


即使窗口大小发生变化,使用最大宽度的预期宽度:

Expected width using max-width even when window size changes

我的总体问题是,哪种解决方案更可取,每种解决方案的效果如何,因为它们看上去相对相同。

一般的CSS代码

.messages-component {

    .threads-sidebar {
        @include box-shadow-helper(1);
        background: white;
        display: flex;
        flex-direction: column;
        width: 20rem;

        .threads-sidebar-header {
            @include box-shadow-helper(1);
            display: flex;
            min-height: 3em;
        }

        .threads-sidebar-body {
            @include box-shadow-helper(1);
            display: flex;
            flex: 1;
            flex-direction: column;

            .test {
                color: $mvn-btn-red;
            }
        }
    }
}

2 个答案:

答案 0 :(得分:1)

最小宽度和最大宽度指定可调整大小对象的大小限制。因此,如果您希望元素的大小不可调整,则应通过使用pixel(px)而不是rem来使用恒定宽度。

答案 1 :(得分:0)

宽度和最小宽度可以一起使用。大多数人在使用示例时会使用两个不同的单位:宽度:90%,最小宽度:600px。还值得注意的是,最小宽度将覆盖宽度。

W3 min-width