CSS等高布局的6种方式介绍

下面小编就为大家带来一篇css等高布局的6种方式介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

前面的话

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

伪等高

边框模拟  

立即学习“前端免费学习笔记(深入)”;

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

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

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{       position: relative;   }   .center{       box-sizing:border-box;       padding: 0 20px;       background-clip: content-box;       border-left: 210px solid lightblue;       border-right: 310px solid lightgreen;   }   .left{       position: absolute;       top: 0;       left: 0;       width: 200px;   }   .rightright{       position: absolute;       top: 0;       rightright: 0;       width: 300px;   }   

XML/HTML Code复制内容到剪贴板

left

PHP房产程序[BBWPS]
PHP房产程序[BBWPS]

[PHP房产程序|BBWPS]功能介绍 1、5种信息类别发布:出租、求租、出售、求购、楼盘信息,支持会员发布信息审核; 2、灵活的信息参数设置; 3、充足的信息字段; 4、简单易用的发布/编辑功能,支持配图上传; 5、灵活的信息管理功能; 6、信息输出伪静态,方便搜索引擎抓取数据; 7、支持RSS输出; 8、内置数据高速缓冲技术,可灵活设置缓冲功能是否启动及过期时间; 9、支持 Google 地图

PHP房产程序[BBWPS] 0
查看详情 PHP房产程序[BBWPS]

center

center

right

CSS等高布局的6种方式介绍

负margin  

因为背景是在padding区域显示的,设置一个大数值的padding-bottom,再设置相同数值的负的margin-bottom,使背景色铺满元素区域,又符合元素的盒模型的计算公式,实现视觉上的等高效果

[注意]如果页面中使用锚点跳转时,将会隐藏部分文字信息

[注意]如果页面中的背景图片定位到底部,将会看不到背景图片

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{       overflow: hidden;   }   .left,.centerWrap,.rightright{       float: left;       width: 50%;       padding-bottom: 9999px;       margin-bottom: -9999px;   }   .center{       margin: 0 20px;   }   .left,.rightright{       width: 25%;   }   

XML/HTML Code复制内容到剪贴板

left

center

center

right

CSS等高布局的6种方式介绍

真等高

table  

table元素中的table-cell元素默认就是等高的

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{       display: table;       width: 100%;       table-layout: fixed;   }   .left,.centerWrap,.rightright{       display: table-cell;   }   .center{       margin: 0 20px;   }   

XML/HTML Code复制内容到剪贴板

left

center

center

right

CSS等高布局的6种方式介绍

absolute  

设置子元素的top:0;bottom:0;使得所有子元素的高度都和父元素的高度相同,实现等高效果

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{       position: relative;       height: 40px;   }   .left,.center,.rightright{       position: absolute;       top: 0;       bottombottom: 0;   }   .left{       left: 0;       width: 100px;   }   .center{       left: 120px;       rightright: 120px;   }   .rightright{       width: 100px;       rightright: 0;   }   

XML/HTML Code复制内容到剪贴板

left

center

center

right

CSS等高布局的6种方式介绍

flex  

flex中的伸缩项目默认都拉伸为父元素的高度,也实现了等高效果

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{       display: flex;   }   .left,.center,.rightright{       flex: 1;   }   .center{       margin: 0 20px;   }   

XML/HTML Code复制内容到剪贴板

left

center

center

right

CSS等高布局的6种方式介绍

js  

当子元素高度不同时,进行js判断,增加较低子元素的padding-bottom,使得各个子元素实现等高效果

CSS Code复制内容到剪贴板

   body,p{margin: 0;}   .parent{overflow: hidden;}   .left,.center,.rightright{       float: left;       width: 25%;   }       .center{       width: 50%;       padding: 0 20px;       background-clip: content-box;       box-sizing: border-box;   }   

XML/HTML Code复制内容到剪贴板

left

center

center

right

JavaScript Code复制内容到剪贴板

   function getCSS(obj,style){       if(window.getComputedStyle){           return getComputedStyle(obj)[style];       }       return obj.currentStyle[style];   }   var oParent = document.getElementById('parent');   var oLeft = oParent.getElementsByTagName('p')[0];   var oCenter = oParent.getElementsByTagName('p')[1];   var oRight = oParent.getElementsByTagName('p')[2];   function eqHeight(obj1,obj2){       var oDis = obj1.clientHeight - obj2.clientHeight;       if(oDis > 0){           obj2.style.paddingBottom = parseFloat(getCSS(obj2,'padding-bottom')) + oDis + 'px';       }else{           obj1.style.paddingBottom = parseFloat(getCSS(obj1,'padding-bottom')) +  Math.abs(oDis) + 'px';       }   }   eqHeight(oLeft,oCenter);   eqHeight(oLeft,oRight);   

CSS等高布局的6种方式介绍

以上这篇浅析CSS等高布局的6种方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHP中文网。

以上就是CSS等高布局的6种方式介绍的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1607929.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
css实现背景透明和文字不透明方法
上一篇 2025年12月23日 21:17:11
下一篇 2025年12月23日 21:17:29

相关推荐

发表回复

登录后才能评论
关注微信