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

前端布局总结(持续更新中)

时间:2023-04-05 15:03:46 HTML5

1.水平居中(1)直接父集text-align:center;.parent{text-align:center;}DEMO

优点:兼容性好,甚至可以兼容ie6和ie7缺点:child中的文字也会水平居中,可以在.child中加上text-align:left;restore(2)使用定位absolute+transform.parent{position:relative;}.child{position:absolute;left:50%;transform:translateX(-50%);}优点:居中的元素不会影响其他缺点:transform属于css3内容,存在一些兼容性问题,高版本浏览器需要加一些前缀(3)ElasticLayout.parent{display:flex;}.child{margin:0auto;}另一种写法.parent{display:flex;justify-content:center;}缺点:低版本浏览器(ie6ie7ie8)不支持(4)table.child{display:table;margin:0auto;}缺点:不支持ie6,ie7,替换div为table2.垂直居中(1)tabletable-cell+vertical-align.parent{display:table-cell;vertical-align:middle;}ie8以上都支持(2)positioningabsolute+transform.parent{position:relative;}.child{position:absolute;top:50%;transform:translateY(-50%);}缺点:transform属于css3内容,存在一些兼容性问题。高版本浏览器需要加一些前缀(3)弹性布局flex+align-items.parent{display:flex;align-items:center;}缺点:兼容性存在一定问题3.水平和垂直居中(1)table.parent{text-align:center;display:table-cell;vertical-align:middle;}.child{display:inline-block;}优点:兼容性更好(2)positioning.child{position:absolute;left:50%;top:50%;transform:transplate(-50%,-50%);}缺点:兼容性存在一定问题(3)Flexiblelayout.parent{display:flex;justify-content:center;align-items:center;}缺点:兼容性存在一定的问题4.多栏布局定宽+自适应(1)浮动

left

right

right

.left{float:left;width:100px;}.right{overflow:hidden;}.clear-fix::after{content:"";显示:块;清除:两者;}另一种写法(左居中)。左{浮动:左;width:100px;}缺点:记得清除浮动不支持ie6(2)Table.parent{display:table;宽度:100%;table-layout:fixed;}.left{width:100px;}.right,.left{display:table-cell;}(3)flexiblelayout.parent{display:flex;}.left{width:100px;}.right{flex:1;}五.等距布局(一)浮动

1

2

3

4

.parent{margin-left:-20px;}.column{float:left;宽度:25%;左填充:20px;box-sizing:border-box;}(2)elasticlayout.parent{display:flex;}.column{flex:1;}.column+.column{margin-left:20px;}six.rem布局(1套解决2个终端的代码)七.浮动布局(具体)1.整体宽高margin:0auto2.部分给宽高margin:0auto3.分别给width,height,float(如果有图片,设置display:block;margin:0auto;对于图片).custom-list{width:100%;高度:6rem;边距顶部:1rem;margin:0auto;}.custom-line{宽度:17.2rem;高度:2.7rem;边距:1remauto0auto;}.custom-line>div{width:3.44rem;高度:100%;浮动:左;}.pic{宽度:1.5rem;高度:1.5rem;显示:块;margin:0auto;}在要浮动部分的父集上添加class="clear-fix".clear-fix::after{content:"";显示:块;清除:两者;你就是帅
;
八。不等宽高布局不等宽高布局.free-line{margin-top:1rem;宽度:17.2rem;高度:2.49rem;保证金:1rem自动0自动;font-size:0;}.free-line>div{height:100%;显示:内联块;vertical-align:top;}.indicate{宽度:3.07rem;背景色:#fff;颜色:#333;位置:相对;}.indicate>img{宽度:1rem;高度:1rem;位置:绝对;底部:40%;左:50%;转换:翻译(-50%,0);}.free-arrow{宽度:1.64rem;位置:相对;高度:100%;}.free-arrow>img{位置:绝对;宽度:0.34rem;高度:0.63rem;顶部:0;左:0;底部:0;右:0;保证金:自动;}