当前位置:首页 > CSS教程 > 正文内容

css实现等高布局有哪些方式_css教程,css,等高布局

搜教程4年前 (2020-03-24)CSS教程188

css中有哪些方法可以实现垂直居中_css教程

本文来自CSS教程栏目,文中为大家介绍了css实现垂直居中的几种方法,具有一定的参考价值,希望可以帮助到大家。可以利用line-height实现居中,这种方法适合纯文字类。

什么是等高布局?

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

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

1、伪等高

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

2、真等高

子元素高度相等。

伪等高实现方式:

通过负margin和Padding实现

真等高实现方式:

1、table

2、absoult

3、flex

详解css行内样式、内嵌样式与外部引用样式的使用方法_css教程

本文为大家介绍了css行内样式、内嵌样式与外部引用样式的使用方法,具有一定的参考价值,希望可以帮助到大家。行内样式:【

】。

4、grid

5、js

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

伪等高之-负margin和padding

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

 <div class="layout parent">
        <div class="left"><p>left</p></div>
        <div class="center">
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
        </div>
        <div class="right"><p>right</p></div>
        <div style="clear: both;">11111111111</div>
    </div>
.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布局

  <div class="layout parent">
        <div class="left"><p>left</p></div>
        <div class="center">
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
        </div>
        <div class="right"><p>right</p></div>
        <div style="clear: both;">11111111111</div>
    </div>
    .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

    <div class="layout parent">
        <div class="left"><p>left</p> </div>
        <div class="center">
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
        </div>
        <div class="right"><p>right</p></div>
    </div>
   .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;
}
<div class="layout parent">
    <div class="left"><p>left</p> </div>
    <div class="center">
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
    </div>
    <div class="right"><p>right</p></div>
</div>

真实等高之 - 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;
    }
<div class="layout parent">
    <div class="left"><p>left</p> </div>
    <div class="center">
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
        <p>我是中间部分的内容</p>
    </div>
    <div class="right"><p>right</p></div>
</div>

真实等高之 - js

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

    <div class="layout parent">
        <div class="left"><p>left</p> </div>
        <div class="center">
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
            <p>我是中间部分的内容</p>
        </div>
        <div class="right"><p>right</p></div>
    </div>
    .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实现等高布局有哪些方式的详细内容,更多请关注ki4网其它相关文章!

css如何实现一个自适应容器_css教程

本文来自CSS入门教程栏目,文中为大家介绍了css实现一个宽高等比自适应容器的方法,具有一定的参考价值,希望可以帮助到大家。我们可以通过vw视口单位来实现。

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/17417.html

标签: css等高布局
分享给朋友:

“css实现等高布局有哪些方式_css教程,css,等高布局” 的相关文章

css overflow属性怎样用【css教程】,overflow属性

css overflow属性怎样用【css教程】,overflow属性

定义和用法 overflow 属性规定当内容溢出元素框时发作的事变。 申明 这个属性定义溢出元素内容区的内容会怎样处置惩罚。假如值为 scroll,不管是不是须要,用户代办都邑供应一种转动机制。因而,有能够纵然元素框中能够放下一切内容也会涌现转动条。 实例 设置 overflo...

用记事本怎样写css【css教程】,css

用记事本怎样写css【css教程】,css

用记事本怎样写css?这里有细致步骤 步骤: 1、在windows中翻开记事本顺序 2、记事本中输入css代码 3、单击菜单“文件”--->“保留”,弹出“另存为”对话框,将上述文档保留为后缀为“*.css"的css文档,如my_firstcss.css 须要注重的是:记事本...

jquery怎样猎取name【css教程】,css

jquery怎样猎取name【css教程】,css

jquery依据name属性查找 $("div[id]") //挑选一切含有id属性的div元素 $("input[name='keleyicom']") //挑选一切的name属性即是'keleyicom'的input元素 $("input[name!='keleyicom']...

css的类选择器是怎样的(代码)【css教程】,css

css的类选择器是怎样的(代码)【css教程】,css

在 CSS 中,类挑选器以一个点号显现: ( 引荐进修:CSS入门教程 ) .center {text-align: center} 在上面的例子中,一切具有 center 类的 HTML 元素均为居中。 鄙人面的 HTML 代码中,h1 和 p 元素都有 center 类。这意味着二...

在CSS中字体加粗要怎么做?【css教程】,CSS

在CSS中字体加粗要怎么做?【css教程】,CSS

字体加粗 font-weight 属性设置文本的粗细。 运用 bold 关键字能够将文本设置为粗体。 ( 引荐进修:CSS基础教程 ) 关键字 100 ~ 900 为字体指定了 9 级加粗度。假如一个字体内置了这些加粗级别,那末这些数字就直接映射到预定义的级别,100 对应最细的字体变...

为何要消灭浮动?如何消灭?(float)【css教程】,float,清除浮动

为何要消灭浮动?如何消灭?(float)【css教程】,float,清除浮动

一、明白消灭浮动 1、为何要消灭浮动 我们前面说过,浮动实质是用来做一些笔墨混排效果的,然则被我们拿来做规划用,则会有许多的问题涌现。 由于浮动元素不再占用原文档流的位置,所以它会对背面的元素排版发生影响,为了处理这些问题,此时就须要在该元素中消灭浮动。 引荐进修:CSS视频教程 准确...