文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

CSS两列布局和三列布局的用法

2023-06-08 04:05

关注

这篇文章主要介绍了CSS两列布局和三列布局的用法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

两列布局

左列定宽,右列自适应

CSS两列布局和三列布局的用法

float + margin 布局

html 代码

<body>  <div id="left">左列定宽</div>  <div id="right">右列自适应</div></body>

css 代码:

#left {  float: left;  width: 200px;  height: 400px;  background-color: lightblue;}#right {  margin-left: 200px;   height: 400px;  background-color: lightgreen;}

float + overflow 布局

html 代码

<body>  <div id="left">左列定宽</div>  <div id="right">右列自适应</div></body>

css 代码

#left {  float: left;  width: 200px;  height: 400px;  background-color: lightblue;}#right {  overflow: hidden;  height: 400px;  background-color: lightgreen;}

绝对定位布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  position: relative;}#left {  position: absolute;  top: 0;  left: 0;  width: 200px;  height: 400px;  background-color: lightblue;}#right {  position: absolute;  top: 0;  left: 200px;  right: 0;  height: 400px;  background-color: lightgreen;}

table 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  width: 100%;  height: 400px;  display: table;}#left,#right {  display: table-cell;}#left {  width: 200px;  background-color: lightblue;}#right {  background-color: lightgreen;}

flex 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  width: 100%;  height: 400px;  display: flex;}#left {  width: 200px;  background-color: lightblue;}#right {  flex: 1;  background-color: lightgreen;}

grid 网格布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  width: 100%;  height: 400px;  display: grid;  grid-template-columns: 200px auto;}#left {  background-color: lightblue;}#right {  background-color: lightgreen;}

左列不定宽,右列自适应

左列盒子宽度随着内容增加或减少发生变化,右列盒子自适应

float + overflow 布局

html 代码:

<body>  <div id="left">左列不定宽</div>  <div id="right">右列自适应</div></body>

css 代码:

#left {  float: left;  height: 400px;  background-color: lightblue;}#right {  overflow: hidden;  height: 400px;  background-color: lightgreen;}

flex 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列不定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  display: flex;  height: 400px;}#left {  background-color: lightblue;}#right {  flex: 1;  background-color: lightgreen;}

grid 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列不定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  display: grid;  grid-template-columns: auto 1fr;  height: 400px;}#left {  background-color: lightblue;}#right {  background-color: lightgreen;}

三列布局

两列定宽,一列自适应

CSS两列布局和三列布局的用法

float + margin 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="center">中间列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  height: 400px;}#left {  float: left;  width: 100px;  height: 400px;  background-color: lightblue;}#center {  float: left;  width: 200px;  height: 400px;  background-color: lightgrey;}#right {  margin-left: 300px;   height: 400px;  background-color: lightgreen;}

float + overflow 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="center">中间列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  height: 400px;}#left {  float: left;  width: 100px;  height: 400px;  background-color: lightblue;}#center {  float: left;  width: 200px;  height: 400px;  background-color: lightgrey;}#right {  overflow: hidden;  height: 400px;  background-color: lightgreen;}

table 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="center">中间列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  display: table;  width: 100%;  height: 400px;}#left {  display: table-cell;  width: 100px;  background-color: lightblue;}#center {  display: table-cell;  width: 200px;  background-color: lightgrey;}#right {  display: table-cell;  background-color: lightgreen;}

flex 布局

html 代码:

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="center">中间列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码:

#parent {  display: flex;  width: 100%;  height: 400px;}#left {  width: 100px;  background-color: lightblue;}#center {  width: 200px;  background-color: lightgrey;}#right {  flex: 1;  background-color: lightgreen;}

grid 布局

html 代码

<body>  <div id="parent">    <div id="left">左列定宽</div>    <div id="center">中间列定宽</div>    <div id="right">右列自适应</div>  </div></body>

css 代码

#parent {  display: grid;  grid-template-columns: 100px 200px auto;  width: 100%;  height: 400px;}#left {  background-color: lightblue;}#center {  background-color: lightgrey;}#right {  background-color: lightgreen;}

左右定宽,中间自适应

CSS两列布局和三列布局的用法

圣杯布局和双飞翼布局目的都是希望先加载的是中间的部分,然后再开始加载 left 和 right 两部分相对来说不是很重要的东西。

圣杯布局

圣杯布局:为了让中间的内容不被遮挡,将中间 div(或最外层父 div)设置 padding-left 和 padding-right (值等于 left 和 right 的宽度),将左右两个 div 用相对布局 position: relative 并分别配合 left 和 right 属性,以便左右两栏 div 移动后不遮挡中间 div。

html 代码:

<body>  <div id="parent">    <div id="center">中间列</div>    <div id="left">左列</div>    <div id="right">右列</div>  </div></body>

css 代码:

#parent {  height: 400px;  padding: 0 200px;  overflow: hidden;}#left,#right {  float: left;  width: 200px;  height: 100%;  position: relative;  background-color: lightblue;}#left {  margin-left: -100%;   left: -200px;}#right {  right: -200px;  margin-left: -200px; }#center {  float: left;  width: 100%;  height: 100%;  background-color: lightgrey;}

双飞翼布局

双飞翼布局,为了中间 div 内容不被遮挡,直接在中间 div 内部创建子 div 用于放置内容,在该子 div 里用 margin-left 和 margin-right 为左右两栏 div 留出位置。

html 代码:

<body>  <div id="parent">    <div id="center">      <div id="center-inside">中间列</div>    </div>    <div id="left">左列</div>    <div id="right">右列</div>  </div></body>

css 代码:

#left,#right {  float: left;  width: 200px;  height: 400px;  background-color: lightblue;}#left {  margin-left: -100%; }#right {  margin-left: -200px; }#center {  float: left;  width: 100%;  height: 400px;  background-color: lightgrey;}#center-inside {  height: 100%;  margin: 0 200px;}

flex 实现

html 代码:

<body>  <div id="parent">    <div id="center">中间列</div>    <div id="left">左列</div>    <div id="right">右列</div>  </div></body>

css 代码:

#parent {  display: flex;}#left,#right {  flex: 0 0 200px;  height: 400px;  background-color: lightblue;}#left {  order: -1; }#center {  flex: 1;  height: 400px;  background-color: lightgrey;}

感谢你能够认真阅读完这篇文章,希望小编分享的“CSS两列布局和三列布局的用法”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯