当前位置: 首页 > Web前端 > HTML

CSS页面布局技巧

时间:2023-04-02 11:28:46 HTML

1.居中布局居中布局

水平居中(宽度自适应)1.内联块+text-align.child{显示:内联块;/*成为内联块元素,使元素宽度自适应,不继承父元素的宽度;*/}.parent{text-align:center;}2.table+margin.child{display:table;/*成为表格元素,可以让元素的宽度自适应,不继承父元素的宽度;*/保证金:0自动;}3.absolute+transform.parent{position:relative;}.child{position:absolute;/*定位允许元素宽度自适应,不继承父元素的宽度;*/transform:translateX(-50%);left:50%;}4.flex+justify-content.parent{display:flex;justify-content:center;}/*or*/.parent{display:flex;}.child{margin:0auto;}垂直居中(高度自适应)1.table-cell+vertical-align.parent{display:table-细胞;/*成为一个类似td的元素*/vertical-align:middle;}2.absolute+transform.parent{position:relative;}.child{position:absolute;/*定位可以让元素的宽度自适应,不继承父元素的宽度;*/顶部:50%;变换:translateY(-50%);}3.flex+align-items.parent{显示:弹性;align-items:center;}水平和垂直居中inline-block+text-align+table-cell+vertical-align.parent{text-align:center;显示:表格单元格;vertical-align:middle;}.child{display:inline-block;}2.absolute+transform.parent{position:relative;}.child{position:absolute;/*定位允许元素宽度自适应,不继承父元素的宽度;*/顶部:50%;左:50%;transform:translate(-50%,-50%);}3.flex+align-items+justify-content.parent{显示:flex;对齐项目:居中;justify-content:center;}二、多栏布局

left

right

right

左边固定宽度,右边自适应1.float+margin.left{width:100px;float:left;}.right{margin-left:120px;}2.float+overflow/*和方法1效果一样*/.left{width:100px;float:left;}.right{margin-left:20px;溢出ow:hidden;}3.table.parent{display:table;宽度:100%;table-layout:fixed;}.left,.right{display:table-cell;}.left{width:100px;padding-right:20px;}4.flex.parent{display:flex;}.right{flex:1;}.left{width:100px;}4.absolute.parent{position:relative;}.right{position:绝对;左:100px;right:0;}.left{width:100px;}左侧不确定宽,右侧自适应1.float+overflow.left{float:left;}.right{margin-left:20px;溢出:隐藏;}2.table.parent{显示:表格;width:100%;}.left,.right{display:table-cell;}.left{width:0.1%;}.left{padding-left:10px;}3.flex.parent{display:flex;}.right{flex:1;}.left{margin-right:20px;}三、等宽布局//假如是n个child

1

2

3

4

1.table.parent-fix{margin-left:-20px;}.parent{显示:表格;宽度:100%;table-layout:fixed;}.child{display:table-cell;padding-left:20px;}2.flex.parent{display:flex;}.child{flex:1;}.child+.child{margin-left:20px;}四、等高布局

left

1.table.parent{display:table;宽度:100%;table-layout:fixed;}.left,.right{display:table-cell;}.left{width:100px;border-right:20pxsolidtransparent;background-clip:padding-box;}2.flex.parent{display:flex;}.right{flex:1;}.left{width:100pX;margin-right:20px;}3.float//一些UI框架使用这种方法,.parent{overflow:hidden;}.left{float:left;margin-right:20px;}.right{overflow:hidden;}.left,.right{padding-bottom:9999px;底部边距:-9999px;}