CSS 【实战】 “四合院”布局

简介: CSS 【实战】 “四合院”布局

效果预览

页面要求:

  • 上下固定高度
  • 左右固定宽度
  • 中间区域自适应宽高
  • 整个页面内容撑满全屏,没有滚动条

技术要点

使用 html5 语义化标签

  • header 网页内的标题区域
  • nav 导航区域
  • aside 侧边栏
  • footer 页脚区域
  • section 内容分区
  • article 文章区域

清除浏览器默认的内外边距

html,
body {
  padding: 0px;
  margin: 0px;
}

否则会出现滚动条

设置内容高度为 100 vh 撑满屏幕

body {
  height: 100vh;
}

另一种方案是设置 html 和 body 高度为 100%

html,body {
  height:100%
}

flex实现自适应布局

垂直方向

body {
  display: flex;
  flex-direction: column;
}
#mainBox {
  flex-grow: 1;
}

水平方向

#mainBox {
  display: flex;
}
#centerBox {
  flex-grow: 1;
}

演示代码

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>CSS “四合院”布局</title>
    <style>
      html,
      body {
        padding: 0px;
        margin: 0px;
      }

      body {
        display: flex;
        flex-direction: column;
        height: 100vh;
      }
      header {
        height: 100px;
        background-color: blue;
      }

      footer {
        height: 60px;
        background-color: black;
      }
      #mainBox {
        flex-grow: 1;
        background-color: gray;
        display: flex;
      }
      #leftBox {
        width: 300px;
        background-color: red;
      }
      #centerBox {
        flex-grow: 1;
      }
      #rightBox {
        width: 200px;
        background-color: yellow;
      }
    </style>
  </head>
  <body>
    <header></header>
    <section id="mainBox">
      <aside id="leftBox"></aside>
      <article id="centerBox"></article>
      <aside id="rightBox"></aside>
    </section>
    <footer></footer>
  </body>
</html>

目录
相关文章
|
4天前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
11 2
|
6天前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
12 1
|
6天前
|
前端开发 算法 容器
css【详解】grid布局—— 网格布局(栅格布局)(一)
css【详解】grid布局—— 网格布局(栅格布局)(一)
14 1
|
2天前
|
前端开发 JavaScript
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
vue3【实战】创建项目、创建并提交代码到远程仓库,安装 SASS, 清除浏览器默认样式 reset-css, 清除模板代码,提升开发效率的必要集成
9 0
|
2天前
|
前端开发 JavaScript
CSS【实战】抽屉动画
CSS【实战】抽屉动画
2 0
|
3天前
|
前端开发
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
4 0
|
3天前
|
前端开发 C++ 容器
css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)
css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)
5 0
|
4天前
|
前端开发
css实战——清除列表中最后一个元素的下边距
css实战——清除列表中最后一个元素的下边距
8 0
|
6天前
|
前端开发 JavaScript
vue实战范例——箭头步骤条/导航(含css 斜切skew的妙用)
vue实战范例——箭头步骤条/导航(含css 斜切skew的妙用)
11 0
|
6天前
|
前端开发
前端 CSS 经典:flex + margin 布局
前端 CSS 经典:flex + margin 布局
8 0