今天小编跟大家讲解下有关css有几种常见布局? ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css有几种常见布局? 的相关资料,希望小伙伴们看了有所帮助。
css有几种常见布局?下面本篇文章就来给大家介绍5中常见布局方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
已知布局元素的高度,写出三栏布局,要求左栏、右栏宽度各为300px,中间自适应。
一、浮动布局
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>浮动布局</title> <style type="text/css"> .wrap1 div{ min-height: 200px; } .wrap1 .left{ float: left; width: 300px; background: red; } .wrap1 .right{ float: right; width: 300px; background: blue; } .wrap1 .center{ background: pink; } </style></head><body> <div> <div></div> <div></div> <div> 浮动布局 </div> </div> </body></html>浮动布局的兼容性比较好,但是浮动带来的影响比较多,页面宽度不够的时候会影响布局。
二、绝对定位布局
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>绝对定位布局</title> <style type="text/css"> .wrap2 div{ position: absolute; min-height: 200px; } .wrap2 .left{ left: 0; width: 300px; background: red; } .wrap2 .right{ right: 0; width: 300px; background: blue; } .wrap2 .center{ left: 300px; right: 300px; background: pink; } </style></head><body> <div> <div></div> <div> 绝对定位布局 </div> <div></div> </div></body></html>绝对定位布局快捷,但是有效性比较差,因为脱离了文档流。
三、flex布局
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>flex布局</title> <style type="text/css"> .wrap3{ display: flex; min-height: 200px; } .wrap3 .left{ flex-basis: 300px; background: red; } .wrap3 .right{ flex-basis: 300px; background: blue; } .wrap3 .center{ flex: 1; background: pink; } </style></head><body> <div> <div></div> <div> flex布局 </div> <div></div> </div></body></html>自适应好,高度能够自动撑开
四、table-cell表格布局
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>table-cell表格布局</title> <style type="text/css"> .wrap4{ display: table; width: 100%; height: 200px; } .wrap4>div{ display: table-cell; } .wrap4 .left{ width: 300px; background: red; } .wrap4 .right{ width: 300px; background: blue; } .wrap4 .center{ background: pink; } </style></head><body> <div> <div></div> <div> 表格布局 </div> <div></div> </div></body></html>兼容性好,但是有时候不能固定高度,因为会被内容撑高。
五、网格布局
<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>网格布局</title> <style type="text/css"> .wrap5{ display: grid; width: 100%; grid-template-rows: 200px; grid-template-columns: 300px auto 300px; } .wrap5 .left{ background: red; } .wrap5 .right{ background: blue; } .wrap5 .center{ background: pink; } </style></head><body> <div> <div></div> <div> 网格布局 </div> <div></div> </div></body></html>比较新的一种布局方式,兼容性没那么好。
来源:爱蒂网