经典布局(flex和传统两种实现)—上中下一栏式

1.传统方式

简言之:就是按照每个块元素占一行的方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            margin:0;
            font-size:20px;
            text-align: center;
        }
        .warp{
            width: 900px;
            margin:0 auto;
        }
        #header{
            height:100px;
            background: #6cf;
        }
        #main{
            height:500px;
            background: #ccffff;
        }
        #footer{
            height:80px;
            background: #99ccff;
        }
    </style>
</head>
<body>

<header id="header" class="warp">#header</header>
<section id="main" class="warp">#section</section>
<footer id="footer" class="warp">#footer</footer>

</body>
</html>

效果

2.flex 方式

关键代码

父级:display: flex;   flex-direction: column;

子级: 设置为flex:1(则高度由字体撑起来) ,设置为flex: 0 0 500px(则高度为500px,设置height无效)

知识点

flex: 1 =? 1 1 0%

flex: auto => 1 1 auto

flex: none => 0 0 auto;

flex-basis优先级 自身设定 > 0%(flex:1按字体的高度) > auto(采用height)

 

<!DOCTYPE html>
<html lang="en">
  <!-- 此处参考阮一峰实例篇中圣杯布局
    (中间部分看做一体) -->
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        body{
            margin:0;
            font-size:20px;
            text-align: center;
        }

        .warp{
            margin:0 auto;
        }

        .holy {
          display: flex;
          flex-direction: column;
        }
        #header{
            width: 900px;
            /* height无效 */
            height:400px;
            background: #6cf;
            flex: 1;
        }
        #main{
            width: 900px;
            background: #ccffff;
            flex: 0 0 500px
        }
        #footer{
            width: 900px;
            /* height无效 */
            height:180px;
            background: #99ccff;
            flex: 1;
        }

        /* .
          flex: 1 =? 1 1 0%
          flex: auto => 1 1 auto
          flex: none => 0 0 auto;

          flex-basis优先级 自身设定 > 0%(flex:1按字体的高度) > auto(采用height)
        */
    </style>
</head>
<body>
<div class="holy">
  <header id="header" class="warp">#header</header>
  <section id="main" class="warp">#section</section>
  <footer id="footer" class="warp">#footer</footer>
</div>

</body>
</html>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值