千家信息网

DIV高度自适应以及应该注意的问题有哪些

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,本篇文章给大家分享的是有关DIV高度自适应以及应该注意的问题有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。和大家重点讨论一下DIV
千家信息网最后更新 2025年11月12日DIV高度自适应以及应该注意的问题有哪些

本篇文章给大家分享的是有关DIV高度自适应以及应该注意的问题有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

和大家重点讨论一下DIV高度自适应及注意问题,主要包括父div高度随子div的高度改变而改变和子div高度随父亲div高而改变两种情况。

DIV高度自适应及注意问题

积累了一些经验,总结出一些关于div高度自适应的技巧,希望有助于大家,转载请标明出处,谢谢。

一、DIV高度自适应(父div高度随子div的高度改变而改变)

1、如果父div不定义height、子div均为标准流的时候,父div的height随内容的变化而变化,实现父div高度随子div的高度改变而改变。

代码:

 #aa{border:#000000solid5px}  #bb{border:#00ffffsolid5px;}  #cc{border:#0033CCsolid5px}  style> 父div  子divdiv> 子divdiv> div>

效果:IE、FF下一致

2、如果父div定义height,子div均为标准流的时候,在IE下父div的height随内容变化而变化,ff中则固定大小,如父div设置height:50px

代码:

 #aa{border:#000000solid5px;height:50px}  #bb{border:#00ffffsolid5px;}  #cc{border:#0033CCsolid5px}  style> 父div  子divdiv> 子divdiv> div>

IE效果

FF下效果

3、如果子div使用了float属性,此时已经脱离标准流,父div不会随内容的高度变化而变化,解决的办法是在浮动的div下面,加一个空div,设置clear属性both

未加空div代码:

 #aa{border:#000000solid5px;}  #bb{border:#00ffffsolid5px;float:left}  #cc{border:#0033CCsolid5px;float:left}  style> 父div  子divdiv> 子divdiv> div>

IE效果:

FF效果:

修改后代码:

 #aa{border:#000000solid5px;}  #bb{border:#00ffffsolid5px;float:left}  #cc{border:#0033CCsolid5px;float:left}  style> 父div  子divdiv> 子divdiv> div> div>

修改后效果:IEFF一致

4.另类的DIV高度自适应
原理:
padding-bottom将列拉长变的一样高,而负的margin-bottom又使其回到底部开始的位置,同时,溢出部分隐藏掉了。此方法必须加文档信息才能正常显示
代码:

   #aa{border:#000000solid5px;overflow:hidden;}  #bb{border:#00ffffsolid5px;float:left;  padding-bottom:100000px;margin-bottom:-100000px;}  #cc{border:#0033CCsolid5px;float:left;  padding-bottom:100000px;margin-bottom:-100000px;}  #dd{float:left}  style>  子divdiv> 子divdiv> 子div




div> div>

效果:

二、DIV高度自适应(子div高度随父亲div高度改变而改变)

在有边框的情况下,你会发现同一个div,在IE下的高度和在FF下的高度是不一样的,比如你设置了高度为100px的div,边框是border:5px;IE的高度是5+5+空白区域=100px,而FF下高度是100px的div是不包括高度的,只是空白区域的高度,如下图黑框的部分:


黑框的上方是对齐的,但是设置了同样的高度,效果却不一样,代码如下:

  #aa{border:#000000solid5px;height:100px;}   #bb{border:#00ffffsolid5px;float:left;height:100%}   #cc{border:#0033CCsolid5px;float:left}   style>    子divdiv>  子divdiv>  div>

如果没有设置边框,完全没有高度不一致的情况,子div适应父div很简单,如上面代码,只是在子div加了height:100%属性即可。如果设置了边框,可以把子div的高度设置为比父div小上下边框高度的值,比如在此例中,可把#bb中height改为100-5-5=90px,结果在IE和Mozilla中显示一致。

有一点要注意,如果父div是body的话,也就是说一个body套了一个div,让div适合body的大小的,必须设置body的高度才能实现子div随body改变而改变,body{height:100%}

以上就是DIV高度自适应以及应该注意的问题有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

高度 效果 代码 变化 边框 问题 一致 内容 属性 情况 标准 部分 区域 只是 大小 时候 更多 父亲 知识 空白 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 机关网络安全意识不够 网络安全宣传周校园演讲稿 数据库管理维护规范 数据库primary满了 网络技术应用模块三 浙江省技术选考数据库 网络安全校园日标语 北京思方远网络技术有限公司 宝山区网络技术转让业务流程 密云区正规软件开发概况 我的世界天空巨人是哪个服务器 复制数据库时提示登陆超时 杨浦区信息软件开发制品价格 大众汽车软件开发 编程 服务器 网易云音乐改名字显示服务器错误 绍兴财务软件开发联系方式 联想服务器右上角指示灯 武汉万赢网络技术有限公司 管家婆数据库备份文件在哪里 品牌网络技术培训热线咨询 西峡市网络安全宣传活动 怎样减少数据库的费用 杨浦区信息软件开发制品价格 创建用户数据库的方法有哪些 网络安全保护权益 服务器拔掉电源数据丢失 软件开发需求的技术要求 acc数据库工程项目模板 文三新村软件开发人员
0