利用flex完成圣杯布局

基本思路

1首先完成header,footer,main的布局。
利用flex-direction: column;完成上述内容的竖向布局。

2.之后再完成main之内的三部分的布局。
这个是横向布局

3 重点理解一下flex:1的意思。如果某个元素flex:1且没有设置宽度,则该元素占满空间。

4body是header,footer,main的容器,body中的display:flex;控制header,footer,main的布局。
main是left,right,content的容器,main中的display:flex;控制left,right,content的布局不要混淆。

<style type="text/css">
* {
    margin:0;
    padding:0;
}
body {
    display:flex;/* 头、中部、脚纵向显示 */
    flex-direction: column;/* 头、中部、脚纵向显示 */
}

header,footer {
    flex:0 0 50px;/* 头、脚尺寸固定,不放大、不缩小 50px指的是高度*/
    background: pink;
}

#main {
    display:flex;/*control content left right*/
    flex:1; /* flex:1指的是等分,但是由于是纵向排列,所以实际上就是自己占满中部空间*/
}

#content {
    background: palegoldenrod;
    flex:1;/*content没设置宽度,没设置宽度就默认全屏宽度。
    flex:1指的是等分,但是由于是纵向排列,所以实际上就是自己占满中部空间 */
}

#left,#right{
    background: paleturquoise;
    flex:0 0 100px;/*设置left和right的宽度为100px,第一个参数0表示不扩张,第二个0表示不收缩 */
}

#left {
    order:-1;/*设置left的位置为最左边 */
}
  
</style>

<body>
    <header></header>
    <div id="main">
        <div id="content"></div>
        <div id="left"></div>
        <div id="right"></div>
    </div>
    <footer></footer>
</body>

结果如图

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • 上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法。你会看到,不管是什么布局,Flex往往都可以几...
    抱着熊喵啃什么阅读 711评论 0 14
  • 上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法。你会看到,不管是什么布局,Flex往往都可以几...
    君临天下夜未央阅读 3,835评论 1 12
  • 转载自阮一峰博客 上一篇文章介绍了Flex布局的语法,今天介绍常见布局的Flex写法。你会看到,不管是什么布局,F...
    林初盛阅读 644评论 0 4
  • 今天又是一年的六月一号,儿童的节日!我,不清楚到底路过了多少个这样的日子!总之,每年的今天我都会努力的把自己和这个...
    南公主工作室阅读 206评论 0 0