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

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

最新资讯
三星手机二季度在印度市占率24%位居第一,超越小米和vivo

三星手机二季度在印度

据市场调研机构IDC9日发布的数据,今年第二季度三星电子
一套培训课1万元,谁在批量“制造网红”?

一套培训课1万元,谁在

网红已经成为一个形容词。
印度运营商自研5G,能走多远?

印度运营商自研5G,能走

4年前,印度首富穆凯什·安巴尼通过其信实工业旗下的吉
字节跳动:TikTok相关谣言在B站传播 将保留追究法律责任的权利

字节跳动:TikTok相关谣

字节跳动在官方账号发布声明称,近期,所谓“TikTok背后是
腾讯推动虎牙斗鱼合并:止损御外,形成游戏直播垄断势力?

腾讯推动虎牙斗鱼合并

日前,有消息称,游戏直播行业的两大头部平台虎牙、斗鱼合
俄外交部谴责美方打压抖音海外版

俄外交部谴责美方打压

俄罗斯外交部发言人扎哈罗娃8日在莫斯科严词谴责美方
最新文章
HTML中利用div+CSS实现简单的箭头图标的代码

HTML中利用div+CSS实

这篇文章主要介绍了HTML中利用div+CSS实现简单的箭头
HTMl页面中返回顶部的几种实现小结

HTMl页面中返回顶部的

这篇文章主要介绍了HTMl页面中返回顶部的几种实现小结
解决vscode 中保存后html自动格式化的问题

解决vscode 中保存后h

这篇文章主要介绍了vscode 中保存后html自动格式化的
html浮动提示框功能的实现代码

html浮动提示框功能的

这篇文章主要介绍了html浮动提示框功能的实现代码,需
详解HTML中的图片标签的用法

详解HTML中的图片标签

这篇文章主要介绍了详解HTML中的图片标签的用法,本文
使用html-webpack-plugin'入再内存中生成 html 页面插件

使用html-webpack-plu

这篇文章主要介绍了使用html-webpack-plugin'入再内