HTML浮动导致高度塌陷,HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)...

元素浮动定义

float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

如果浮动非替换元素,则要指定一个明确的宽度;否则,它们会尽可能地窄。

注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止。

why 子元素浮动 会导致父元素 高度塌陷?

这是因为内部的元素设置float:left || right后,就丢失了clear:both和display:block(持怀疑态度)的样式,所以外部的父容器不会被撑开。

举个?:

子元素未设置浮动,父元素自动被撑开

.father {

width: 400px;

border: 1px solid blue;

}

.son {

width: 200px;

height: 200px;

border: 1px solid red;

background-color: yellow;

}

bVbcazu?w=423&h=222

子元素设置浮动,父元素高度塌陷

bVbcayQ?w=416&h=225

.father {

width: 400px;

border: 1px solid blue;

}

.son {

width: 200px;

height: 200px;

border: 1px solid red;

background-color: yellow;

float: left;

}

闭合浮动的常见解决方案

最终,我们要的效果是要跟没设置浮动之前的效果一样,让父元素高度自适应:

bVbcaAW?w=441&h=219

在浮动元素之后添加清除浮动的子元素:

.father {

width: 400px;

border: 1px solid blue;

}

.son {

width: 200px;

height: 200px;

border: 1px solid red;

background-color: yellow;

float: left;

}

.clearFloat {

width: 100%;

height: 0;

clear: both;

}

父元素设置 overflow: hidden

.father {

width: 400px;

border: 1px solid blue;

overflow: hidden;

}

.son {

width: 200px;

height: 200px;

border: 1px solid red;

background-color: yellow;

float: left;

}

是不是很神奇!因为子元素的浮动,会导致父元素误认为content高度为0(即蓝色边框为一条线),所以父元素设成overflow:hidden溢出隐藏的话,直觉上应该子元素由于溢出导致不显示才对。但真实效果是:父元素设成overflow:hidden溢出隐藏后,父元素高度居然自适应了!这是怎么回事呢?是因为 BFC(Block Formatting Context),感兴趣的童鞋,点击链接了解一下哈...

用 :after 伪元素,思路是用:after元素在div后面插入一个隐藏文本”.”,隐藏文本用clear来实现闭合浮动

.father:after {

clear: both;

content: "."; //任意文本如“dfgdfg”

display: block;

height: 0; //高度为0且hidden让该文本彻底隐藏

visibility: hidden;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python API简单验证

前言 因为CMDB内部的需求,需要一个API进行数据传输,用来传递需要抓取的服务端信息信息给抓取的autoclient,autoclient抓取好之后再通过API传输到服务器,保存到数据库。但是为了防止恶意的API访问,需要做一个验证。 设想…

完全CSS实现鼠标移上出现层的效果(超简单)

看过许多鼠标事件,都很复杂,太多的文件和繁杂的代码,而且好多都是用js实现,加载速度很慢。 这几天一直在找一种简单的实现效果,完全 CSS编写的效果,现在找到了,非常的少。 这就是完全 CSS实现的层效果&am…

搜索引擎学习日志

了解是什么:Google的咖啡因系统、Megastore云存储系统、Pregel云图计算模型、暗网爬取技术、Web2.0网页作弊、机器学习排序、情景搜索、社会化搜索 学习思想:先全局、再细节 《这就是搜索引擎:核心技术详解》page 33 / 315 开始第二章&#x…

前端微信签名验证工具_微信小程序API 用户数据的签名验证和加解密

用户数据的签名验证和加解密数据签名校验为了确保 开放接口 返回用户数据的安全性,微信会对明文数据进行签名。开发者可以根据业务需要对数据包进行签名校验,确保数据的完整性。签名校验算法涉及用户的session_key,通过 wx.login 登录流程获取…

会计电算化的过程 实质上是用计算机,会计电算化的过程,实质上是用计算机()的过程。A.单一地替代手工会计操作B.单一地替代对会计进行分...

会计电算化的过程,实质上是用计算机()的过程。A.单一地替代手工会计操作B.单一地替代对会计进行分更多相关问题以下对冷饮操作要求描述错误的是:()客舱网路的功用。()次高速减脂过程中一般每减多少做一个平台过渡()架线施工时弧垂…

Spring MVC控制器的单元测试:配置

传统上,为Spring MVC控制器编写单元测试既简单又成问题。 尽管编写调用控制器方法的单元测试非常简单,但问题是这些单元测试不够全面。 例如,我们不能仅通过调用已测试的控制器方法来测试控制器映射,验证和异常处理。 Spring MVC…

css实现鼠标覆盖显示大图

html <div <a href”#”> <img src”img01.jpg”> <img src”img02.jpg”> </a> </div> css img{border:none;} .pic{position:relative;top:10px;left:10px} .pic a .large{position:absolute;height:0;width:0;} .pic a:hover{di…

前端js编码

1、首先是encodeURI和encodeURIComponent&#xff1b; 从名字可以清晰的看出他两都是主要用于url编码的&#xff0c;那之间有什么区别呢&#xff1f;唯一区别就是编码的字符范围&#xff0c;其中 encodeURI方法不会对下列字符编码 ASCII字母、数字、~!#$&*():/,;?&#x…

common lisp的几个基本概念

S-表达式 quote nil 与 () cons car cdr 真假 predicate 谓词与 t 与 nil null 函数 与 not 函数 if then else and 与 or defun recursion 递归 谓词 eql 与 equal format 与 read&#xff1a;format 在函数体内调用不会输出 nil&#xff08;format 函数本身有返回值为 nil) l…

python循环结束执行后面代码_计算机程序中某种代码的反复执行,称为________。Python中的循环有重复一定次数的________,也有重复到某种情况结束的________。...

3.(2019高一下浙江期末)数制转换。将一个K进制(k<10)数x转换成十进制数可采用如下方法&#xff1a;主要方法是从右向左&#xff0c;依次取数x的各位数字&#xff0c;分别计算出该数从右边数起的第i位数字与k(i-1)的积&#xff0c;再将其累加&#xff0c;直到所有的数字取完为…

计算机流体力学软件基础及工程应用,流体力学及其工程应用(英文版·原书第10版)2013年版...

流体力学及其工程应用(英文版原书第10版)出版时间&#xff1a;2013年版内容简介《流体力学及其工程应用(英文版原书第10版)/时代教育国外高校优秀教材精选》继承并发扬了前9版讲述流体力学物理现象的传统&#xff0c;并以最简单而且尽可能是最清晰&#xff0c;但又不使用复杂数…

Spring MVC测试框架入门–第2部分

这个迷你系列的第一个博客介绍了Spring MVC测试框架&#xff0c;并展示了其在单元测试Spring MVC Controller类中作为控制器而不是POJO进行单元测试的用途。 现在是时候讨论使用框架进行集成测试了。 “集成测试”是指将Spring上下文加载到测试环境中&#xff0c;以便控制器可…

jira java接口生成问题

参考页面: 可方便扩展的JIRA Rest Web API的封装调用 JIRA是一个缺陷跟踪管理系统&#xff0c;被广泛应用于缺陷跟踪、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域,当我们需要把第三方业务系统集成进来时&#xff0c;可以调用他的API。 JIRA本身的A…

pmd 使用笔记

pmd是一块开源的代码静态分析工具&#xff0c;使用java编写&#xff0c;可以自定义规则来进行自己想要的分析。pmd可以单独使用&#xff0c;也可以作为idea、eclipse的插件使用。它的规则分为xpath规则&#xff0c;和java规则。https://pmd.github.io/ pmd内部工作机制比较简单…

css用一张大图片来设置背景的技术真相

之前就知道了用一张图片来设置页面内的所有背景的技术。原理很简单&#xff0c;利用background-potision精确地定位到图片的位置。好处是减少页面 的http请求数。 老实说&#xff0c;我并不觉得这个技术有多值得推广。虽然是减少了http请求数&#xff0c;但对于99%的网站来说&…

flex 平铺布局_flex布局及各种布局的总结

Flexbox display: flex;如果也想设置内联元素为弹性盒子&#xff0c;可以使用display:inline-flex;实现三种其他布局难以达到的效果&#xff1a;在父内容里面垂直居中一个块内容。使容器的所有子项占用等量的可用宽度/高度&#xff0c;而不管有多少宽度/高度可用。使多列布局中…

计算机网络应用押韵句,现代汉语练习题

第一章导论一、填空题1、汉语做为一种语言&#xff0c;具有一切语言共有的性质。即从内部结构上说&#xff0c;它是一种音译结合的符号系统&#xff1b;从外部功能上说&#xff0c;它是人类社会重要的交际工具和思维工具。2、语言符号最重要的特点是任意性和线条性。3、“现代汉…

Python中 sys.argv[]的用法简明解释

Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数&#xff0c;且一直在IDLE上编辑了后运行&#xff0c;试图从结果发现它的用途&#xff0c;然而结果一直都是没结果&#xff0c;也在网上查了许多&#xff0c;但发现这个问题的比…

在Apache Hadoop(多节点群集)中运行Map-Reduce作业

我们将在这里描述在多节点集群中的Apache Hadoop中运行MapReduce Job的过程。 要在多节点群集中设置Apache Hadoop &#xff0c;可以阅读设置Apache Hadoop多节点群集 。 为了进行设置&#xff0c;我们必须在每台计算机上使用以下配置Hadoop&#xff1a; 在所有节点的conf / …

写出完美CSS代码的5个重要方面

每个人都可以编写CSS代码&#xff0c;甚至你现在已经让它为你的项目工作了。我在博客中也一直与大家讨论&#xff0c;学习CSS编码与CSS技巧。但是CSS还 可以更好吗&#xff1f;开始用这5个Tips改进你的CSS吧&#xff01; 一、关于 CSS重置 首先&#xff0c;很认真的告诉你&…