1、利用左右浮动,脱离文档流,中间元素正常,设置左右margin。元素顺序:left 、 right 、middle(middle要放在最后)
如果窗口太小,右边元素会被挤到下一行
.box{
height: 200px;
padding: 0 200px 0 100px;
}
.left{
width: 100px;
float: left;
margin-left: -100px;
background: red;
}
.right{
width: 200px;
float: right;
margin-right: -200px;
background: green;
}
.middle{
width: 100%;
float: right;
background: blue;
}左
右
中间
2、圣杯布局(注意:标签顺序:自适应的放前面,固定的放后面)
.box{
height: 200px;
padding: 0 200px 0 100px;
}
.left{
width: 100px;
float: left;
margin-left: -100%;
position: relative;
left: -100px;
background: red;
}
.right{
width: 200px;
float: left;
margin-left: -200px;
position: relative;
right: -200px;
background: green;
}
.middle{
width: 100%;
float: left;
background: blue;
}中间
左
右
3、双飞翼布局(与圣杯布局的区别:自适应部分content又被包裹了一次,样式也从最外层box中的padding变成content中的margin,注意:中间的自适应会占左右位置)
.box{
height: 200px;
}
.left{
width: 100px;
float: left;
margin-left: -100%;
background: red;
}
.right{
width: 200px;
float: left;
margin-left: -200px;
background: green;
}
.middle{
width: 100%;
float: left;
background: blue;
}
.content{
margin: 0 200px 0 100px;
}中间左
右
【使用CSS实现三列布局(左右固定宽度,中间自适应)六种方法】
文章图片
4、利用绝对定位
.box{
height: 200px;
width: 100%;
position: relative;
}
.left{
width: 100px;
position: absolute;
top: 0px;
left: 0px;
background: red;
}
.right{
width: 200px;
position: absolute;
top: 0px;
right: 0px;
background: green;
}
.middle{
margin: 0 200px 0 100px;
background: blue;
}左
右
中间
5、使用flex布局( flex 是 flex-grow、flex-shrink、flex-basis的缩写 flex:1 等同于flex-grow: 1; flex-shrink: 1; flex-basis: 0%; )
.box{
display: flex;
flex-direction: row;
}
.left{
width: 100px;
background: red;
}
.right{
width: 200px;
background: green;
}
.middle{
background: blue;
flex: 1;
}左
中间
右
6、利用calc()动态计算中间的值
.box{
height: 200px;
}
.left{
width: 100px;
float: left;
background: red;
}
.right{
width: 200px;
float: left;
background: green;
}
.middle{
width: calc(100% - 300px);
float: left;
background: blue;
}左
中间
右
文章图片
推荐阅读
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- JavaScript|JavaScript之DOM增删改查(重点)
- 网络|一文彻底搞懂前端监控
- css|我用css精灵图拼接了自己的英文名字,不会还有人不知道精灵图技术吧()
- css|css三角的做法及其案例
- css|css中元素的显示与隐藏
- JavaWeb|JavaWeb学习——CSS
- flex|C语言-使用goto语句从循环中跳出
- java|你跳一次涨多少(今天见识到跳槽天花板!!)