百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>CSS教程> css实现等高布局是什么方式
分享文章到:

css实现等高布局是什么方式

发布时间:09/01 来源:未知 浏览: 关键词:
本文来自CSS入门教程栏目,文中为大家介绍了css实现等高布局的两种方式,拥有一定的参照 价值,但愿可以帮忙到大家。实现等高布局有两种方式:一、伪等高;二、真等高。

什么是等高布局?

指在统一个父容器中,子元素高度相称的布局。

从等高布局实现方式来说分为两类:

1、伪等高

子元素高度差仍然存在,只是视觉上给人感觉就是等高。

2、真等高

子元素高度相称。

伪等高实现方式:

通过负margin和Padding实现

真等高实现方式:

1、table

2、absoult

3、flex

4、grid

5、js

(举荐教程:CSS入门教程)

伪等高之-负margin和padding

主要应用负margin来实现,如下:

 
        

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

11111111111
.parent{
    position: relative;
    overflow:hidden;
    color: #efefef;
}
.center,
.left,
.right {
    box-sizing: border-box;
    float: left;
}
.center {
    background-color: #2ECC71;
    width: 60%;
}

.left {
    width: 20%;
    background-color: #1ABC9C;
}
.right {
    width: 20%;
    background-color: #3498DB;
}
.left,
.right,
.center  {
    margin-bottom: -99999px;
    padding-bottom: 99999px;
}

真实等高之 - table布局

  
        

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

11111111111
    .parent{
        position: relative;
        display: table;
        color: #efefef;
    }
    .center,
    .left,
    .right {
        box-sizing: border-box;
        display: table-cell
    }
    .center {
        background-color: #2ECC71;
        width: 60%;
    }

    .left {
        width: 20%;
        background-color: #1ABC9C;
    }
    .right {
        width: 20%;
        background-color: #3498DB;
    }

真实等高之 - absolute

    
        

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

   .parent{
        position: absolute;
        color: #efefef;
        width:100%;
        height: 200px;
    }

    .left,
    .right,
    .center {
        position: absolute;
        box-sizing: border-box;
        top:0;
        bottom:0;
    }
    .center {
        background-color: #2ECC71;
        left: 200px;
        right: 300px;
    }

    .left {
        width: 200px;
        background-color: #1ABC9C;
    }
    .right {
        right:0;
        width: 300px;
        background-color: #3498DB;
    }

真实等高之 - flex

.parent{
    display: flex;
    color: #efefef;
    width:100%;
    height: 200px;
}

.left,
.right,
.center {
    box-sizing: border-box;
    flex: 1;
}
.center {
    background-color: #2ECC71;
}
.left {
    background-color: #1ABC9C;
}
.right {
    background-color: #3498DB;
}
    

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

真实等高之 - grid

    .parent{
        display: grid;
        color: #efefef;
        width:100%;
        height: 200px;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .left,
    .right,
    .center {
        box-sizing: border-box;
    }
    .center {
        background-color: #2ECC71;
    }
    .left {
        background-color: #1ABC9C;
    }
    .right {
        background-color: #3498DB;
    }
    

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

真实等高之 - js

猎取所有元素中最高列,然后再去比对再进行修改

    
        

left

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

我是中间局部的内容

right

    .parent{
        overflow: auto;
        color: #efefef;
    }
    .left,
    .right,
    .center {
        float: left;
    }
    .center {
        width: 60%;
        background-color: #2ECC71;
    }
    .left {
        width: 20%;
        background-color: #1ABC9C;
    }
    .right {
        width: 20%;
        background-color: #3498DB;
    }
     // 猎取最高元素的高度
    var nodeList = document.querySelectorAll(".parent > div");
    var arr = [].slice.call(nodeList,0);
    var maxHeight = arr.map(function(item){
        return item.offsetHeight
    }).sort(function(a, b){
        return a - b;
    }).pop();
    arr.map(function(item){
        if(item.offsetHeight < maxHeight) {
            item.style.height = maxHeight + "px";
        }
    });

如图:

相干视频教程举荐:css视频教程

以上就是css实现等高布局是什么方式的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有150人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板