源码动态 源码评测 源码技巧 网站运营 网页制作 网站开发 安全相关 软件教程 IDC资讯 业界消息
高级搜索
关键字:Discuz!  Axure  团购系统
最新更新发布资源提建议收藏本站
当前位置:A5源码 > 资讯报道 > 网页制作 > 详解左右宽度固定中间自适应html布局解决方案

详解左右宽度固定中间自适应html布局解决方案

作者:yezheng来源:未知浏览:时间:2018-10-09 16:33我要评论
这篇文章主要介绍了详解左右宽度固定中间自适应html布局解决方案的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下:

 a.使用浮动布局

 html结构如下

 <div class="box">

<div class="left">left</div>

<div class="right">right</div>

<div class="center">center</div>

</div>

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

<style>

.box{

height:200px;

}

.left{

float:left;

width:300px;

}

.right{

float:right;

width:300px;

}

</style>

 b.使用固定定位

 html结构如下

 <div class="box">

<div class="left">left</div>

<div class="right">right</div>

<div class="center">center</div>

</div>

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

<style>

.box{

position: relative;

}

.left{

position: absolute;

width: 100px;

left: 0;

}

.right{

width:100px;

position: absolute;

right: 0;

}

.center{

margin: 0 100px;

background: red;

}

</style>

 c.表格布局

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

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

 <div class="box">

<div class="left">

left

</div>

<div class="center">

center

</div>

<div class="right">

right

</div>

</div>

<style>

.box{

display: table;

width: 100%;

}

.left{

display: table-cell;

width: 100px;

left: 0;

}

.right{

width:100px;

display: table-cell;

}

.center{

width: 100%;

background: red;

}

</style>

 d.弹性布局

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

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

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

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

 <div class="box">

<div class="left">

left

</div>

<div class="center">

center

</div>

<div class="right">

right

</div>

</div>

<style>

.box{

display: flex;

width: 100%;

}

.left{

 width: 100px;

left: 0;

}

.right{

width:100px;

}

.center{

flex:1;

}

</style>

 e.网格布局

 父元素display:grid;

 grid-templatecolumns:100px auto 100px;

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

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

 <div class="box">

<div class="left">

left

</div>

<div class="center">

center

</div>

<div class="right">

right

</div>

</div>

<style>

.box{

display: grid;

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

width: 100%;

}

</style>

以上就是本文的全部内容,希望对大家的学习有所帮助

 

相关文章
网友对“详解左右宽度固定中间自适应html布局解决方案”的评论
资讯分类
本类热门资讯
  • 源码推荐
  • 软件推荐
关于我们联系我们发布资源广告服务合作伙伴网站地图版权声明与我们对话