等高布局的几种方式

等高布局是指子元素在父元素中高度相等的布局方式。等高布局的实现包括伪等高和真等高,伪等高只是看上去等高而已,真等高是实实在在的等高。
边框模拟、负margin这两种伪等高以及table实现、absolute实现、flex实现、grid实现和js判断这五种真等高布局


边框模拟
因为元素边框和元素高度始终是相同高度,用元素的边框颜色来伪装左右两个兄弟元素的背景色。然后将左右两个透明背景的元素使用absolute覆盖在中间元素的左右边框上,实现视觉上的等高效果

  [注意]左右两侧元素的内容高度不能大于中间元素内容高度,否则无法撑开容器高度

 

  <style>
        body,p{
            margin: 0;
        }
        .parent{
            position: relative;
        }

        .center{
            background-clip: content-box;
            box-sizing:border-box;
            padding:0 20px;
            border-left:210px solid orange;
            border-right: 310px solid  green;
        }

        .left{
            position: absolute;
            top: 0;
            left: 0;
            width: 200px;
        }
        .right{
            position: absolute;
            top: 0;
            right: 0;
            width: 300px;
        }
    
    </style>
</head>
<body>
    <div class="parent" style="background-color: lightgrey;">
    <div class="left">
        <p>left</p>
        <p>left</p>
    </div> 
    <div class="center" style="background-color: pink;">
        <p>center</p>
        <p>center</p>
        <p>center</p>
        <p>center</p>
       
    </div> 
    <div class="right">
        <p>right</p>
    </div>   
</div>

 

 

 

posted @ 2021-01-10 22:40  沁莹  阅读(415)  评论(0)    收藏  举报