子级浮动后导致父级高度为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

相关文章

安卓链接正常显示,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报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

Qt: 详细理解delete与deleteLater (避免访问悬空指针导致程序异常终止)

前言 珍爱生命,远离悬空指针。 正文 delete 立即删除:调用 delete 后,对象会立即被销毁,其内存会立即被释放。调用顺序:对象的析构函数会被立即调用,销毁该对象及其子对象。无事件处理:如果在对象销毁过程中还涉及到信号和槽、事件处理等,直接 delete 可能会导致问题,尤其是在对象正在处理事件时。适用场景:适用于在确定对象已经不再被使用的情况下,并且不涉及异步处理或事件循环中的

240907-Gradio插入Mermaid流程图并自适应浏览器高度

A. 最终效果 B. 示例代码 import gradio as grmermaid_code = """<iframe srcdoc='<!DOCTYPE html><html><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width" /><title>My static Spa

ssh版本升级导致连接失败

公司系统使用的是第三方ssh插件jsch-0.1.39.jar,之前采集正常的,但是厂家服务器ssh升级成2.0版本,然后程序就报错,异常如下: com.jcraft.jsch.JSchException: Algorithm negotiation failat com.jcraft.jsch.Session.receive_kexinit(Session.java:510)at com.