html自动拉伸块结构,左右宽度固定中间自适应html布局解决方案

a.使用浮动布局

html结构如下

left
right
center

//此处注意要先渲染左、右浮动的元素才到中间的元素。元素浮动后剩余兄弟块级元素会占满父元素的宽度

.box{

height:200px;

}

.left{

float:left;

width:300px;

}

.right{

float:right;

width:300px;

}

b.使用固定定位

html结构如下

left
right
center

//和浮动布局同理,先渲染左右元素,使其定位在父元素的左右两端,剩余的中间元素占满父元素剩余宽度。

.box{

position: relative;

}

.left{

position: absolute;

width: 100px;

left: 0;

}

.right{

width:100px;

position: absolute;

right: 0;

}

.center{

margin: 0 100px;

background: red;

}

c.表格布局

将父元素display:table,子元素display:table-cell,会将它变为行内块。

这种布局方式的优点是兼容性好。

left

center

right

.box{

display: table;

width: 100%;

}

.left{

display: table-cell;

width: 100px;

left: 0;

}

.right{

width:100px;

display: table-cell;

}

.center{

width: 100%;

background: red;

}

d.弹性布局

父元素display:flex子元素会全部并列在一排。

子元素中flex:n的宽度会将父元素的宽度/n

如flex:1,宽度就等于父元素高度。

弹性布局的缺点是兼容性不高,目前IE浏览器无法使用弹性布局

left

center

right

.box{

display: flex;

width: 100%;

}

.left{

width: 100px;

left: 0;

}

.right{

width:100px;

}

.center{

flex:1;

}

e.网格布局

父元素display:grid;

grid-templatecolumns:100px auto 100px;

依次为第一个子元素宽100px 第二个自适应 第三个100px;

网格布局的优点是极为简便,直接通过父元素样式决定,缺点是兼容性不高。

left

center

right

.box{

display: grid;

grid-template-columns: 100px auto 100px;

width: 100%;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值