详解左右宽度固定中间自适应html布局解决方案_HTML/Xhtml_网页制作

摘要: 本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下:a.使用浮动布局html结构如下<div class="box">    <div摘要: 本文介绍了详解左右宽度固定中间自适应html布局解决方案,分享给大家,具体如下:a.使用浮动布局html结构如下<div class="box"> <div

本文介绍了详解左右宽度固定中间自适应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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。


文章版权及转载声明:

编辑:小秋同学本文地址:https://www.qiuhai.com/study/720.html发布于 10-01 11:22:17
文章转载或复制请以超链接形式并注明出处学习吧_一个不错的学习网站
本站文章如没有特殊说明,均采集网上收集,若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。 声明:某些文章来源于网络,所采集的到信息本站只为传递信息和分享,不做任何双方证明,也不承担任何法律责任。 文章内容若侵犯你的权益,请联系本站客服删除!

觉得文章有用就施舍一下文章作者

支付宝施舍

微施舍

阅读
分享

发表评论 模板文件不存在: ./template/plugins/comment/pc/index.htm