常用布局使用felx布局来实现

1. 一行显示,左边固定宽度右边自适应

html代码

<body>
    <h4>felx布局实现左边固定宽度,右边自适应</h4>
    <div class="flexBox">
        <div class="left">左边固定宽度</div>
        <div class="flex">右边自适应</div>
    </div>
</body>

css代码

<style>
    * {
        padding: 0;
        margin: 0;
    }

    h4{
        margin: 10px 0;
    }

    .flexBox {
        display: flex;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        height: 200px;
        flex-flow: row;   /* 主轴为水平方向,起点在左端。 */
    }

    .left {
        width: 100px;
        background: red;
    }

    .flex {
        /* flex: 1 1 auto; */    
        /*
         * 以上相当于 flex-grow: 1 项目的放大比例
         *                    flex-shrink: 1 项目的缩小比例
         *                    flex-basis: auto 项目占据主轴的全部空间
         */
        flex-grow: 1;   /*width充满剩余的空间*/
        background: blue;
    }
</style>

2.一行显示,右边固定宽度左边自适应

html代码

<body>
    <h4>felx布局实现右边固定宽度,左边自适应</h4>
    <div class="flexBox">
        <div class="flex">左边自适应</div>
        <div class="right">右边固定宽度</div>
    </div>
</body>

css代码

<style>
    * {
        padding: 0;
        margin: 0;
    }

    h4{
        margin: 10px 0;
    }

    .flexBox {
        display: flex;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        height: 200px;
        flex-flow: row;   /* 主轴为水平方向,起点在左端。 */
    }

    .right {
        width: 100px;
        background: red;
    }

    .flex {
        flex-grow: 1;   /*width充满剩余的空间*/
        background: blue;
    }
</style>

3.一行显示,中间固定宽度左右两边自适应

html代码

<body>
    <h4>felx布局实现中间固定宽度,两边自适应</h4>
    <div class="flexBox">
        <div class="left">左边自适应</div>
        <div class="flex">中间固定宽度</div>
        <div class="right">右边自适应</div>
    </div>
</body>

css代码

<style>
    * {
        padding: 0;
        margin: 0;
    }

    h4{
        margin: 10px 0;
    }

    .flexBox {
        display: flex;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        height: 200px;
        flex-flow: row;   /* 主轴为水平方向,起点在左端。 */
    }

    .flex {
        width: 100px;
        background: red;
        min-width: 100px;  /* 当浏览器宽度很小时没有这句中间部分的宽度会变小 */
    }

    .right, .left {
        flex-grow: 1;   /* width充满剩余的空间,是以上代码的简写 */
        background: rgb(110, 110, 112);            
    }
</style>

4.一行显示,中间自适应两边固定宽度

html代码

<body>
    <h4>felx布局实现中间自适应,两边固定宽度</h4>
    <div class="flexBox">
        <div class="left">左边固定宽度</div>
        <div class="flex">中间自适应</div>
        <div class="right">右边固定宽度</div>
    </div>
</body>

css代码

<style>
    * {
        padding: 0;
        margin: 0;
    }

    h4{
        margin: 10px 0;
    }

    .flexBox {
        display: flex;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        height: 200px;
        flex-flow: row;   /* 主轴为水平方向,起点在左端。 */
    }

    .flex {
        flex-grow: 1;   /*width充满剩余的空间*/
        background: rgb(110, 110, 112);
    }

    .right, .left {
        width: 100px;
        background: red;
    }
</style>

5.一行只显示两个,超过的排下一行

html代码

<body>
    <h4>felx布局实现一行显示两个,超过宽度换行</h4>
    <div class="flexBox">
        <div class="flex">1</div>
        <div class="flex">2</div>
        <div class="flex">3</div>
        <div class="flex">4</div>
        <div class="flex">5</div>
    </div>
</body>

css代码

<style>
    * {
        padding: 0;
        margin: 0;
    }

    h4{
        margin: 10px 0;
    }

    .flexBox {
        display: flex;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        flex-flow: row; /* 主轴为水平方向,起点在左端。 */
        flex-wrap: wrap  /* 超过宽度自动换行 */
    }

    .flex {
        flex: 0 0 50%;            
        height: 100px;
    }
</style>

如有不对的地方或更好的方法请指出,感谢您的阅读

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,265评论 1 92
  • AA医院自2017年2月开诊以来,在省卫生健康委的关心支持下,整体呈现持续向好发展态势,月均业务收入从一开始的不到...
    为步行而行阅读 694评论 0 1
  • 高价值知识有四个特质,品牌,独特,深度,时效。有名气,已经有一定的品牌;个性化的知识;深耕某领域,极近其源头;最新...
    余渔鱼愚呗阅读 286评论 0 0
  • 听管大演讲,讲他从一个村小教师,成长为一名特级的历程。 管大最明显的成就,是带着学生写作,他特别讲了,他是如何让孩...
    郭筠筠1阅读 374评论 0 1
  • 遇见你,是在三月里的初春,夜里八点刚下过雨的街道。我走过去那家蛋糕店,又慢慢走回来,看见了一直在念想的cupcak...
    选青阅读 301评论 0 1

友情链接更多精彩内容