子级浮动后导致父级高度为0-洋葱先生-杨少通

2023-10-08 05:30

本文主要是介绍子级浮动后导致父级高度为0-洋葱先生-杨少通,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

洋葱先生-杨少通感谢您的到来

编写常见问题,子级浮动后导致父级高度为0!

查看实例                下载文档     

错误效果如下:

目前父级"div.os-des"背景色已设置为黑色、宽度设置为了660px且高度为自动获取,但未显示背景色,说明此时高度为0。

造成这种问题的原因是由于float属性会使标签脱离原有的文档流,即:Html文档会当作float的标签不存在,导致父级元素检索不到子级,造成自身高度为0的情况。

解决方法1:
在浮动的子级后在加一个子级,并令其清除浮动(clear:both)以撑大父容器。据大佬说:这种法浏览器兼容性好,并且是W3c推荐的写法。

由于多加了一个无意义的额外标签,导致多数人都不喜欢(我个人也是)。

在这里插入图片描述

解决方法2:

父级也浮动,跟着子级同流合污。本人不推荐使用,父级浮动,父级可能也存在父级,会造成一系列连锁反应。。。

在这里插入图片描述

解决方法3:

将子级改成属性display:inline-block,但需要注意用inline-block后子元素之间会产生间距。本人不喜欢用。

inlin-block效果如下:目前margin属性值已设置为0,但仍存在间距。
在这里插入图片描述

解决方法4:

给父级增加overflow属性,值设置为auto或hidden皆可。

在这里插入图片描述

解决方法5:

在父级元素增加伪类after,在其后加一个清除浮动元素,类似于方法1。

.os-solve5:after { content: “”; clear: both; display: block; }

在这里插入图片描述

解决方法6:

直接给父级加高度height,这种方法最简单,但是最不无用。因为页面是与后台数据绑定的,数据的数量不一定,产生的块元素也不一定。

比如:淘宝商品推荐页,当卖家上架或下架后就意味着后台数据的更新,块元素数量就会对应变化,或减少或增多。

因此,必要的位置高度应该为自动获取。

在这里插入图片描述

以上就是本人针对该问题的个人理解,希望对你们有所帮助。感谢!

实例中代码均为原创,存在不足还请见谅!

如有转载请注明来源: www.dreamload.cn/blog/?p=580&preview=true (洋葱先生-杨少通)

这篇关于子级浮动后导致父级高度为0-洋葱先生-杨少通的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/163015

相关文章

java获取图片的大小、宽度、高度方式

《java获取图片的大小、宽度、高度方式》文章介绍了如何将File对象转换为MultipartFile对象的过程,并分享了个人经验,希望能为读者提供参考... 目China编程录Java获取图片的大小、宽度、高度File对象(该对象里面是图片)MultipartFile对象(该对象里面是图片)总结java获取图片

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

vue基于ElementUI动态设置表格高度的3种方法

《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

STM32 ADC+DMA导致写FLASH失败

最近用STM32G070系列的ADC+DMA采样时,遇到了一些小坑记录一下; 一、ADC+DMA采样时进入死循环; 解决方法:ADC-dma死循环问题_stm32 adc dma死机-CSDN博客 将ADC的DMA中断调整为最高,且增大ADCHAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc_buffer, ADC_Buffer_Size); 的ADC_Bu

JS和jQuery获取节点的兄弟,父级,子级元素

原文转自http://blog.csdn.net/duanshuyong/article/details/7562423 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素。 <div id="test"><div></div><div></div

DAY16:什么是慢查询,导致的原因,优化方法 | undo log、redo log、binlog的用处 | MySQL有哪些锁

目录 什么是慢查询,导致的原因,优化方法 undo log、redo log、binlog的用处  MySQL有哪些锁   什么是慢查询,导致的原因,优化方法 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 导致的原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

71-java 导致线程上下文切换的原因

Java中导致线程上下文切换的原因通常包括: 线程时间片用完:当前线程的时间片用完,操作系统将其暂停,并切换到另一个线程。 线程被优先级更高的线程抢占:操作系统根据线程优先级决定运行哪个线程。 线程进入等待状态:如线程执行了sleep(),wait(),join()等操作,使线程进入等待状态或阻塞状态,释放CPU。 线程占用CPU时间过长:如果线程执行了大量的I/O操作,而不是CPU计算

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后