两栏布局的实现

简介: 两栏布局的实现

两栏布局

  • 问:那么什么叫做两栏布局呢?
  • 答:一般将左侧一栏宽度固定,右边一栏宽度自适应称为两栏布局


课前预习:块级元素宽度自适应,高度需要手动设置(如不设置则由高度内容撑开)

本文规范:为了叙述方便,故以类名代表相应的元素

上课中:

第一种情况(浮动:float)


CSS代码

/*宽度默认为铺满整个屏幕 /
.outer{
height: 100px;
}
.left{
float: left;
width: 200px;height: inherit;
background: tomato;
}
/ .right可以不用设置宽度因为它的宽度是自适应的,嘿嘿嘿 */
.right{
margin-left: 200px;
height: inherit;
background: black;
}

HTML代码


  • 结果



第二种情况(浮动float与BFC结合)


CSS代码

/*宽度默认为铺满整个屏幕 /
.outer{height: 100px;
}
.left{
float: left;
width: 200px;height: inherit;
background: tomato;
}
/ .right可以不用设置宽度因为它的宽度是自适应的,嘿嘿嘿 */
.right{
overflow: hidden;
height: inherit;
background: black;
}

HTML代码


  • 结果


第三种情况(flex布局)

本问需要了解flex-grow,flex-grow的作用是平分剩余空间,记住是剩余空间(敲黑板)

  • 例一

CSS代码

/*宽度默认为铺满整个屏幕 /
.outer{height: 100px;
display: flex;
}
.left{
width: 200px;height: inherit;
background: tomato;
flex-grow:0 ;
}
/ .right可以不用设置宽度因为它的宽度是自适应的,嘿嘿嘿 */
.right{
flex-grow: 1;
height: inherit;
background: black;
}
 


HTML代码


  • 结果
  • 例二
  • 修改类名为left的元素css属性flex-grow的值为1(flex-grow:1)

CSS代码

.left{
width: 200px;height: inherit;
background: tomato;
flex-grow:1 ;
}
  • 结果
  • 补充:因为left本身是有200px的宽度,而right的宽度是0,他们平分剩下的剩余空间,所以出现了left多于right的现象。

第四种情况(定位:position:(relative与absolute))


  • 例一
  • 父与左孩子使用定位


CSS代码

/*宽度默认为铺满整个屏幕 /
.outer{height: 100px;
position: relative;
}
.left{
position: absolute;
width: 200px;height: inherit;
background: tomato;
}
/ .right可以不用设置宽度因为它的宽度是自适应的,嘿嘿嘿 */
.right{
margin-left: 200px;
height: inherit;
background: black;
}
 

HTML代码


  • 结果
  • 例二
  • 父与右孩子使用定位

CSS代码

/*宽度默认为铺满整个屏幕 /
.outer{height: 100px;
position: relative;
}
.left{
width: 200px;height: inherit;
background: tomato;
}
/ .right可以不用设置宽度因为它的宽度是自适应的,嘿嘿嘿 */
.right{
position:absolute;
top: 0;
bottom: 0;
left: 200px;
right: 0;
height: inherit;
background: black;
}
 

HTML代码


  • 结果
  • 补充:这个牛逼,真的牛逼。我之前写一个很垃圾的项目的时候,想找一个可以铺满剩余空间的写法,偶然间我发现了这个,这个真的确实很妙,你不搜的话,我想可能很多人都不知道吧!!!这个太神奇了,反正我是非常喜欢这个。

最后:

若发现问题,请您留言指正。

若觉得对您有所帮助,欢迎点赞评论,我会继续加油!!!

相关文章
|
5月前
|
前端开发 容器
前端基础(十五)_多栏布局(两列自适应布局、圣杯布局---三列布局、双飞翼布局--三列布局、等高布局)
本文介绍了前端开发中的多种自适应布局技术,包括两列自适应布局、圣杯布局(三列布局)、双飞翼布局(三列布局)和等高布局。文章通过代码示例展示了如何使用HTML和CSS实现这些布局,以及如何通过flex布局简化实现过程。
192 2
|
9月前
|
XML 数据可视化 Java
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
Android布局——线性布局、相对布局、帧布局、表格布局、网格布局、约束布局
261 1
|
9月前
|
前端开发
前端三栏布局(包括圣杯,双飞翼)
前端三栏布局(包括圣杯,双飞翼)
|
9月前
布局
​ 可选值: ​ visible. 默认值 子元素会从父元素中溢出,在父元素外部的位置显示 ​ hidden 溢出的内容将会被裁剪不会显示 (一剪没) ​ scroll 滚 ,生成两个滚动条,通过滚动条来查看完整的内容 ​ auto 根据我们需要生成滚动条 ​ overflow-x:单独处理水平的 ​ overflow-y: 单独处理垂直的
|
安全 容器
由圣杯布局引发的思考
今天在MDN看到块格式化上下文有点不以为然,关键是它写的高深莫测,读不懂... 于是下午想试试圣杯布局的时候,终究还是逃不过它。🤣 这里不介绍圣杯布局的历史,这样的文章网上不知道多少篇,我来写写千篇一律中的亮点吧,哈哈。
66 0
|
Web App开发 设计模式 前端开发
DIV+CSS布局总结
DIV+CSS布局总结
|
UED 容器
如何实现侧边两栏宽度固定,中间栏宽度自适应的布局?——双飞翼布局、圣杯(Holy Grails)布局
如何实现侧边两栏宽度固定,中间栏宽度自适应的布局?——双飞翼布局、圣杯(Holy Grails)布局
98 0
|
前端开发 容器
两栏布局的实现方式
两栏布局的实现方式
|
前端开发 数据可视化 容器
CSS 两栏布局和三栏布局的实现
CSS 两栏布局和三栏布局的实现
152 0