经典布局(flex和传统两种实现)—左右页眉页脚

博客介绍了两种布局方法。浮动法中,上中下为块元素需定宽高,中间部分左右浮动且定宽高,代码编写较繁琐;flex方法里,上中下只需设置宽高会依次向下排列,中间部分使用display:flex,左右通过flex属性设置宽度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.浮动法

上中下:都是块元素。定宽,定高

中:定宽高: 左右:浮动且定宽高

这种方式其实并不好,写了好多代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .wrap{
          width: 900px;
          margin: 0 auto;
        }
        #header{
          height: 100px;
          background: blueviolet
        }
        #main{
          height: 500px;/* 父级设置宽高也是一种清浮动的方式 */
          border: 1px solid red;
        }
        #footer{
          height: 150px;
          background: blueviolet
        }

        #left{
          float: left;
          width: 200px;
          height: 500px;
          background: greenyellow;
        }
        #right{
          float: left;
          width: 700px;
          height: 500px;
          background: orange;
        }
    </style>
</head>
<body>
<header id="header" class="wrap"></header>
<section id="main" class="wrap">
  <aside id="left"></aside>
  <div id="right"></div>
</section>
<footer id="footer" class="wrap"></footer>


</body>
</html>

 

2. flex方法

上中下:因为都是块元素,所以只需要设置宽高,就会依次向下排列

中:display:flex; 左:flex:0 0 200px; 右:flex:1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .wrap{
          width: 900px;
          margin: 0 auto;
        }
        #header{
          background: #66ccff;
          height: 100px;
        }
        #main{
          background: #ffcccc;
          height: 500px;
          display: flex;
        }
        #footer{
          background: #99ccff;
          height: 150px;
        }

        #left{
          background: #ccffff;
          flex: 0 0 200px;
        }
        #right{
          background: #7cd677;
          flex: 1
        }
    </style>
</head>
<body>

<header id="header" class="wrap"></header>
<section id="main" class="wrap">
    <aside id="left"></aside>
    <div id="right"></div>
</section>
<footer id="footer" class="wrap"></footer>

</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值