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>比较新的一种布局方式,兼容性没那么好。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!