我要投稿
投诉建议
首页
Web前端
后端技术
数据应用
编程语言
其他语言
技术落地
科技领域
SEO
科技迭代
当前位置:
首页
>
Web前端
>
CSS
常用布局总结
时间:2023-03-31 00:55:57
CSS
一、双栏布局1.1左栏固定宽度,右栏自适应1)使用float+margin实现(方法一)HTML代码:
左栏固定宽度
右栏自适应
CSS代码:.left{width:600px;高度:400px;背景颜色:粉红色;浮动:左;}。右{高度:400px;背景颜色:天蓝色;margin-left:600px;}2)使用float+margin实现(方法二)HTML代码:
左列固定宽度
右栏自适应CSS代码:.left{width:100px;高度:400px;背景色:#33cccc;float:left;}.right-fix{margin-left:-100px;宽度:100%;float:right;}.right{margin-left:100px;高度:400px;background-color:#876ed7;}3)使用float+overflow实现HTML代码:
leftcolumnfixedwidth
右列自适应CSS代码:.left{width:100像素;高度:400px;背景色:#d25fd2;浮动:左;}。右{高度:400px;背景色:#d235d2;overflow:hidden;}分析:div.right设置overflow:hidden形成一个BFC,不与div.left的floatbox重叠,宽度达到一个adaptiveBFC(blockformattingcontext,块级格式化上下文)创建一个BFC:1.浮动元素(float:left|right);2.绝对定位元素(position:absolute|fixed);3、行内块元素(显示:inline-block);4.表格单元格(显示:table-cells,td,th);5.表格标题(display:table-captions|table-caption);6.“溢出”特征不可见的元素;7.Flexbox(显示:flex|inline-flex);BFC布局规则:1.innerBoxes会在垂直方向依次放置。2.Box的垂直距离由margin决定。属于同一BFC的两个相邻框的边距将重叠。3.每个元素的外边距框的左侧触及包含块边框框的左侧(对于从左到右的格式,否则相反)。即使存在浮动也是如此。(#)4.BFC区域不会与浮动框重叠。(#)5、BFC在页面上是一个隔离独立的容器,容器内的子元素不会影响外面的元素。反之亦然。6、计算BFC的高度时,浮动元素也参与计算(clearfloating)。因为BFC内外的元素永远不会互相影响,所以在这个例子中,当BFC外有浮动时,应该不会影响BFC内Box的布局,BFC会变窄而不与浮动重叠.1)和3)的相同点和不同点:相同点:两者的div.left都使用float浮动区别:1)div.right使用margin-left来改变宽度。3)div.right使用overflow:hidden形成BFC自适应宽度,不需要关注div.left的固定宽度。4)使用表格实现HTML代码:
左栏固定宽度
右栏自适应
CSS代码:.two-col-4{width:100%;高度:400px;显示:表格;}.left,.right{显示:表格单元格;/*使用单元格自动分配宽度*/}.left{width:100px;背景颜色:#ff9040;}.right{背景颜色:#ffb273;}.rightdiv{背景颜色:红色;宽度:100px;高度:100px;margin:30px;}缺点:display:table-cell形成BFC,导致margincollapse。属于同一BFC的两个相邻框的边距将重叠。5)利用position实现HTNML代码:
左栏固定宽度
右栏自适应CSS代码:.two-col-5{position:relative;}.left{width:100px;高度:400px;背景色:#f7fe00;位置:绝对;顶部:0;左:0;}.right{高度:400px;背景色:#52e93a;位置:绝对;顶部:0;左:100px;right:0;}6)使用flex实现HTML代码:
左列固定宽度
右栏自适应CSS代码:.two-col-6{width:100%;高度:400px;显示:flex;}.left{宽度:100px;背景色:#39e639;}.right{flex:1;background-color:#67e667;}分析:flex是flex-grow、flex-shrink和flex-basis的简写。flex-grow:用来“划分”父item的“剩余空间”flex-shrink:设置子item的缩小比例,默认为1,即父item空间不足时,item会收缩。flex-basis:用来设置child占用的空间。如果设置了值,则子项占用的空间为设置值;如果不设置或为auto,则子项占用的空间为width/height的值。1.2右侧固定宽度,左侧自适应1)使用float+overflow实现HTML代码:
右侧列固定宽度
左栏自适应CSS代码:.left{height:400px;背景色:粉色;溢出:隐藏;/*BFC*/}.right{width:100px;高度:400px;背景颜色:天蓝色;float:right;}1.3一列可变,一列自适应1)使用float+overflow实现HTML代码:
左边列宽可变
右列自适应CSS代码:.left{height:400px;背景色:#ff9040;向左飘浮;/*只有浮动,没有宽度*/}.right{height:400px;背景色:#ffb273;溢出:隐藏;/*触发BFC*/}2)使用flex实现HTML代码:
leftcolumnvariablewidth
右列自适应CSS代码:.two-col-lr-2{display:flex;}.left{/*nowidth*/height:400px;背景色:#f63e62;}.right{高度:400px;背景色:#f66f89;弹性:1;/*将父项剩余部分平分*/}两列或三列布局2.1两列定宽,一列自适应1)使用float+Margin实现HTML代码:
左栏固定宽度
中间固定宽度
右栏自适应CSS代码:.tri-col-1{min-width:300px;}.left{width:100px;高度:400px;背景色:#ed002f;float:left;}.center{宽度:200px;高度:400px;背景色:#f63e62;float:left;}.right{margin-left:300px;高度:400px;;}2)使用float+overflow实现HTML代码:
leftcolumnfixedwidth
middle固定宽度
右列自适应CSS代码:.tri-col-2{min-width:300px;}.left{width:100px;高度:400px;背景色:#ff7400;float:left;}.center{宽度:200px;高度:400px;背景色:#ff9640;浮动:左;}。右{高度:400px;背景色:#ffb273;溢出:隐藏;/*触发BFC*/}3)使用table实现HTML代码:
左列固定宽度
中间定宽
右栏自适应CSS代码:.tri-col-3{width:100%;高度:400px;显示:表格;}.left{宽度:100px;背景色:#ffc900;显示:表格单元格;}.center{宽度:200px;背景色:#ffd640;显示:表格单元格;}.right{背景颜色:#ffe173;display:table-cell;}4)使用flex实现HTML代码:
左列固定宽度
中间固定宽度
右栏自适应CSS代码:.tri-col-4{height:400px;显示:flex;}.left{宽度:100px;背景色:#00cc00;}.center{宽度:200px;背景色:#39e639;}.right{背景色:#67e667;弹性:1;/*平分父item的其余部分实现自适应*/}2.2两侧固定宽度,中间自适应1)使用flex实现HTML代码:
左栏固定宽度
中间自适应
右栏固定宽度CSS代码:.tri-col-lr-1{height:400px;显示:flex;}.left{宽度:100px;背景色:#bc008d;}.center{flex:1;颜色:#dd37b4;}.right{宽度:200px;background-color:#dd64bf;}2)利用position实现HTML代码:
LeftColumnFixedWidth
中间自适应
右列固定宽度CSS代码:.tri-col-lr-2{position:relative;}.left{宽度:100px;高度:400px;位置:绝对;顶部:0;左:0;背景色:#00af64;}.center{margin-left:100px;右边距:200px;高度:400px;背景色:#37dc74;}.right{宽度:200px;高度:400px;位置:绝对;顶部:0;右:0;background-color:#63dc90;}3.多栏等宽布局1)使用table实现HTML代码:
1
2
3
4
5CSS代码:.multi-col-1{width:100%;高度:400px;显示:表格;}.col{显示:表格单元格;/*不需要关注列数,单元格自动平分*/}.col:nth-child(odd){background:pink;}.col:nth-child(even){background:lightgreen;}2)使用flex实现HTML代码:
1
2
3
4
5CSS代码:.multi-col-2{height:400px;display:flex;}.col{flex:1;/*不用关注列数,会自动划分*/}.col:nth-child(odd){background:lightcoral;}.col:nth-child(even){background:yellow;}四、九方格布局1)使用tableReality现代HTML代码:
1
2
3
4
5
6
7
8
9CSS代码:.squ-1{width:100%;高度:400px;边框:1px纯黑色;显示:表格;}.row{显示:表格行;}.item{显示:表格单元格;border:1pxsolidred;}2)使用flex实现HTML代码:
1
2
3
4
5
6
7
8
9CSS代码:.squ-2{宽度:100%;高度:400px;边框:1px纯黑色;显示:弹性;flex-direction:column;}.row{display:flex;flex:1;}.item{flex:1;边框:1px纯天蓝色;}
上一篇:
盒子模型的一些分析
下一篇:
Web前端基础技术HTML、CSS、JavaScript的三要素
常用布局总结相关文章
百度地图率先布局,苹果正在寻找下一个发力点, AR会成为技术
意识逐渐形成,可穿戴设备亟待布局
用科技武装自己 新颖时尚的智能穿戴设备总结
从腾讯人工智能布局开始:四大秘密研究基地、收购大量科技公司
【E测】根据9万+条经验总结,您在购买冰箱时考虑过这些问题吗
脑电波可穿戴设备总结!智能穿戴的智能化革命
2018年终总结!今年人工智能让你失望了吗?
可穿戴战略布局华为重塑价值
有关技术的早期消息! BAT进入富士康战略布局,百度推出无广
一文速览三星AI全部布局
【总结】2016下半年VR融资事件
【总结盘点】看脸时代!是谁把小米手环从简约的神坛上推了下来?
洗衣机市场平稳增长,巨头抢先布局下半年
【图解】躁动的乐视!虚拟现实布局如何与腾讯巨头抗衡
无人洗车巨头亿公里正携手国家电网,共同布局全国充电站网络
无界零售布局重磅启动,京东携手爱琴海商业集团,共创零售未来
独家专访蚂蚁卫视CEO秦铮! AntView VR的布局几何
现场对话解密!京东AI布局全景图首次发布!
深入解读奋达科技布局可穿戴医疗产品的战略
Vensi三大智能家居系统解决方案总结
最新推荐
1
可穿戴设备巨头布局,智能硬件概念风起云涌
2
苹果COO谈智能手表布局
3
马化腾详解腾讯AI布局,激辩人工智能巨头汤晓鸥【附文字记录】
4
万物互联的时代已经到来,中国移动如何布局物联网
5
定位决定定位 德邦快递针对大学生市场布局的做法
6
腾讯的野心尽显,企鹅如何布局VR
7
BAT布局AI芯片,国产芯片新格局?
8
百度云加强多领域布局,实现“用科技让生活更美好”的愿景
9
超级详细的总结! 2014年可穿戴设备市场及产业链分析
10
腾讯布局VR领域!我们先把陷阱利用起来,再担心它是否流行
猜你喜欢
1
点击率!深化“AI+”战略布局,扩大差异化优势,搜狗搜索稳居
2
苹果WWDC2016亮点总结 iOS-macOS-watch
3
智能硬件领域布局“人工智能+”前景广阔
4
腾讯联手inWatch布局国内智能手表市场
5
谷歌等巨头已经开始布局智能硬件的下一个“大钱”风口:智能服装
6
谷歌布局可穿戴、汽车等生态圈阻击苹果
7
【年终总结】黑科技井喷! 2015年十大可穿戴技术将如何改变
8
2015年度总结!耳机圈一片混乱,小米和魅族一加真的是你的菜
9
蜻蜓FM布局智能可穿戴!与华为Watch深度合作
10
芯片巨头加紧布局可穿戴市场
11
VR行业分析报告剧透Facebook-谷歌-苹果VR布局
12
谷歌在操作系统上的另一个布局,专访Wear OS产品负责人
13
消费者如何布局自己的智能家居
14
儿童防丢平台成为新蓝海,腾讯也在跟进,布局智能鞋,
15
详解四大科技巨头谷歌、微软、苹果、Facebook的VR-A
16
讯通科技布局人脸识别更深层次应用,助力门禁系统走向智能化
17
融资新闻 -商汤科技获4.1亿美元融资,3年内获得5笔投资,
18
汉鼎悠悠推出超10亿项目,智慧城市板块全面布局
19
iPhone 7双摄背后的野心解密苹果AR布局
20
联想与华为同步智能物联网战略布局,两大巨头会在新赛道展开较量