CSS文档流浮动学习

position属性和float属性——对文档流的影响和解决 position属性 定义和用法: position属性用于指定一个元素在文档中的定位方式。 top,right,bottom,left属性则决定了该元素的最终位置。 参数 值 描述 absolute 生成绝对定位的元素,相对于最近的非 static 祖先元素定位。当这样的祖先元素不存在时,则相对于根级容器定位 fixed 生成绝对定位的元素,相对于浏览器窗口进行定位 re... 阅读详情

定义

文档流中:内联元素默认从左到右流,遇到阻碍或者宽度不够自动换行,继续按照从左到右的方式布局。块级元素单独占据一行,并按照从上到下的方式布局。

文档流布局

可由于块元素在文档流中都是从上向下排列,如果让其实现水平排序:可以利用display设置为inline就可以水平排列。另外也可以设置元素浮动即:设置float值,其设置有三个选项:

  • none
    默认按照文档流中进行排列,一般元素默认都是none值。
  • left
    元素脱离文档流可以向左进行浮动
  • right
    元素脱离文档流可以向右进行浮动。

文档流注意事项

  1. 浮动元素和文档流元素重叠的问题

让我们看一下演示案例:

div class="c1"></div>
<p>iOS是由苹果公司开发的移动操作系统 [1]  。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,最初是设计给iPhone使用的,后来陆续套用到iPod touch、iPad上。iOS与苹果的macOS操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010年WWDC大会上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。
    2016年1月,随着iOS 9.2.1版本的发布,苹果修复了一个存在了3年的漏洞 [2]  。2018年9月22日,美国苹果公司在最新的操作系统中秘密加入了基于iPhone用户和该公司其他设备使用者的“信任评级”功能。</p>
    * {
        margin: 0px;
        padding: 0px;
    }
    .c1 {
        width: 200px;
        height: 200px;
        background-color: fuchsia;
    }

    p {
        background-color: greenyellow;
        height: 200px;
    }

此时页面呈现效果如下所示:
在这里插入图片描述
当设置div向左浮动的时候

    .c1 {
        width: 200px;
        height: 200px;
        background-color: fuchsia;
        float: left;
    }

此时页面呈现效果如下所示:
在这里插入图片描述
结论:浮动元素会比文档元素高级一些,如果文档里面有文字,浮动元素并不会覆盖文字,文字会进行环绕。
2. 浮动元素对其他元素的影响问题

<div class="c1"></div>
<div class="c2"></div>
<div class="c3"></div>
.c1 {
    width: 200px;
    height: 200px;
    background-color: aqua;
}

.c2 {
    width: 200px;
    height: 200px;
    background-color: gold;
}

.c3 {
    width: 200px;
    height: 200px;
    background-color: darkgreen;
}

页面效果如下所示:
在这里插入图片描述
此时让c2向右边浮动

.c2 {
    width: 200px;
    height: 200px;
    background-color: gold;
    float: right;
}

页面效果如下:我们发现c2元素确实向右边进行移动,并且c3元素向上紧挨着c1元素
这是因为当c2开启浮动后即脱离文档流后,原有的位置会被文档流中元素进行占据。
在这里插入图片描述
同理我们设置元素向左移动,然后新的页面效果如下所示:
在这里插入图片描述
此时我们发现c3元素竟“消失”了,那么c3元素哪里去了呢?我们打开chrome的控制台如下所示:
在这里插入图片描述
我们发现c3元素似乎依然存在,造成原因就是:浮动元素会比文档元素高级一些,所以同一位置上优先显示浮动元素,这就造成了好像c2会覆盖c3文档元素。同时c2浮动后并没有覆盖掉他上面的兄弟元素。如果设置c1元素向左浮动呢?效果如下所示:
在这里插入图片描述
我们发现c2此时在c1的右边,并没有出现c2覆盖c1的情况与此同时c3依然是消失的,从上面我们可知c1显示的优先级高于c3,所以看着像是c1覆盖掉了c3元素。
结论:.浮动元素进行浮动不会超过其兄弟浮动元素的,浮动元素如果上边是一个没有进行浮动的元素则浮动元素不会超过快元素(文档流中的快元素默认占一行)。
3. 脱离文档流的高度塌陷问题

<div id="c1">
    <div class="c2"></div>
</div>
#c1 {
    border: red 10px solid;
}

.c2 {
    height: 200px;
    width: 200px;
    background-color: blue;
}

页面效果如下所示:
在这里插入图片描述
此时一起正常,此时我们设置c2元素开始向左浮动,此时页面效果如下所示:
在这里插入图片描述
我们发现c1元素塌陷了,而为什么之前c1没有塌陷呢?我们都知道c1元素并没有设置宽和高,而它的宽度默认为父元素的宽度也就是body的宽度,它的高度默认为子元素撑起来的高度。原先c1被c2元素进行支撑,当c2脱离文档流后就没有元素支撑高度,所以就造成了高度塌陷的问题。

有以下两种方法解决高度塌陷的问题:

  • 设置元素visibility的值
#c1 {
    border: red 10px solid;
    overflow: hidden;
}

此时页面效果图如下所示:没有高度塌陷的问题
在这里插入图片描述

  • 为塌陷元素后面在添加一个子元素
<div id="c1">
    <div class="c2"></div>
    <div class="c3"></div>
</div>

此时页面效果图如下所示:没有高度塌陷的问题。
在这里插入图片描述
亦可通过以下方式解决高度塌陷问题,这个同样也是在塌陷元素下添加一个子元素

.c2:after {
    content: "";
    display: block;
    clear: both;
}

这里的clear是清除浮动影响,当一个元素a进行浮动的时候,另一个元素b(文档流)受此影响也进行向上浮动,如果想清除a元素对b的影响则需要设置clear进行浮动元素的清除。clear可以设置以下值:

  1. clear:left 不受左边浮动影响
  2. clear:right不受右边影响
  3. clear:both 清除受影响最大的那个元素
浮动对正常文档流的影响(区分浮动和绝对定位的脱标) 浮动对正常文档流的影响(区分浮动和绝对定位的脱标) 问题描述: 一个<div>块元素里 有 两个<span>元素 第一个<span>设置了浮动 那么第二个<span>不应该在 第一个<span>的下面吗? 结果显示: 两个span是紧挨着的。(源代码和浏览器窗口显示图形如下) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & 阅读详情

相关推荐

第七章 CSS浮动与定位 A卷

选择题。(每小题2分,共20分) 清除浮动的css写法不正确的是(A)。 A.clear:none B.clear:both C.clear:right D.clear:left 下面关于标准文档流的说法正确的是(A)。 A.display属性可以控制块级元素和内联元素的显示方式 B.<div>标签可以包含于<span>标签中 C.<div>……</div>标签是内联元素 D.标题标签、段落标签、<span>标签都是块级元素 在.

qq_54879552的博客 2249

css浮动会有什么影响,CSS,浮动及其影响

浮动(float):让默认文档流(标准文档流)下的元素漂浮起来,水平排列。通俗点来说,浮动可以让元素浮到第二层,而其他没有浮动的元素就往上排,而我们是俯视去看的,所以往上顶的那个元素就会被遮住,这就带来了问题。解决方法,后面会有说。float: 1. left----左浮2. right------右浮3. none ------不浮动默认(标准)文档流:说白了就是一个“默认”状态。文档流指的是元...

weixin_42517569的博客 1092

CSS浮动、定位

这是一个基础知识,也是面试多多少少会问到的。下面我带大家梳理一下! 一、文档流的概念指什么?有哪种方式可以让元素脱离文档流? 文档流,指的是元素排版布局过程中,元素会自动从左往右,从上往下的流式排列。并最终窗体自上而下分成一行行,并在每行中按从左到右的顺序排放元素。脱离文档流即是元素打乱了这个排列,或是从排版中拿走。 让元素脱离文档流的方法有:浮动和定位。 二、有几种定位方式,分别是如何实...

兔子juan的博客 1750

CSS 布局 (三) 浮动、定位、多列布局

CSS 布局 (三) 浮动、定位、多列布局

chinusyan的专栏 1278

基于BQ24610的24V电池充电板

转自我的博客 本文的主要目的在于传播基本的阅读datasheet的能力,以及PCB设计需要注意的基本问题。 本次需要设计的是24V动力锂电池充电电路。 原理图设计 参考官方参考电路 为了快速设计电路,自然是参考官方参考电路,选择Typical Application。 做细微的参数调整 由于我们的需求是给24V的电池充电,所以需要稍微修改一下原理图,接下来需...

greedyhao的博客 1万+

手把手教你用Siemens EDA破解工具搞定PADs VX2.7安装与卡死问题

本文详细介绍了如何使用Siemens EDA工具解决PADs VX2.7的安装与卡死问题。从License配置到性能调优,提供全面的解决方案,帮助工程师高效完成电子设计自动化任务。特别针对常见的卡顿现象,给出了输入法兼容性调整、图形性能优化等实用技巧。

k8l9m0n的博客 554

一天搞定CSS: 浮动(float)及文档流--10

一天搞定CSS: 浮动(float)及文档流--10

Java仗剑走天涯 3019

【NLP】语言模型的发展历程 (1)

N-gram模型是一种基于统计语言模型的文本分析算法,它用于预测文本中下一个词出现的概率,基于前面出现的n-1个词的序列。这里的n代表序列中元素的数量,因此称为N-gram。Unigram:N=1,每个单词的出现概率独立计算,不考虑上下文。Bigram:N=2,基于前一个单词预测当前单词的联合概率模型。Trigram:N=3,考虑前两个单词来预测当前单词的联合概率模型,更复杂但可能更准确。

酒酿小圆子呀~ 1670

css中弹性盒子,文档流,浮动,清除浮动以及定位的学习

css中弹性盒子,文档流,浮动,清除浮动以及定位的学习

m0_74569795的博客 1182

Python爬虫实战:如何优雅地处理BOSS直聘的反爬机制与Cookie失效问题

本文详细介绍了如何通过Python爬虫技术优雅应对BOSS直聘的反爬机制与Cookie失效问题。从多账号轮换、动态请求头生成到代理IP管理,提供了一套完整的解决方案,帮助开发者构建稳定高效的数据采集系统,有效提升爬虫成功率与数据质量。

weixin_30733003的博客 1563

Simulink仿真避坑指南:如何设置步长、powergui和模块采样时间才能让控制周期更稳定

本文深入解析Simulink仿真中步长、powergui和模块采样时间的协同配置方法,帮助工程师解决控制周期不稳定问题。通过实际案例和参数调优技巧,指导用户精准设置仿真参数,确保电机控制、电力电子系统等工业仿真结果的可靠性。

weixin_42524762的博客 419

好程序员web前端学习路线分享CSS浮动-文档流篇

  好程序员web前端学习路线分享CSS浮动-文档流篇,纯文本的排列,文档流就像我们的文本内容一样,所有的文字都会紧挨着,一个个排列下来,如果到了边界,就会换一行排列。当然如果敲回车或者按下空格键一般都会认为是一个词间距,因为英文中每个单词之间是有距离的,不像中文每个汉字连在一起的。所以不管你敲了几个回车,不管你敲了几个空格。程序都认为只有一个词间距的空格距离。我们把这种现象称为空白折叠现象。下图...

qq_35970166的博客 250

用一套可追溯的闭环,把设备变成可管理的资产:SAP S/4HANA Asset Management 模块详解

摘要:SAP S/4HANA的资产管理模块(EAM)通过标准化流程管理企业资产全生命周期,解决资产状态、需求和资源的不确定性。系统将资产抽象为技术对象,支持纠正性和预防性维护流程,通过维护工单实现可执行的工作包,并与物料管理、财务、生产计划等模块集成形成管理闭环。该模块可帮助降低非计划停机时间,通过数据驱动决策优化维护策略,提升资产可用率和运营效率。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 257

css 图片换行_好程序员web前端学习路线分享CSS浮动-文档流篇

1、纯文本的排列。文档流就像我们的文本内容一样,所有的文字都会紧挨着,一个个排列下来,如果到了边界,就会换一行排列。当然如果敲回车或者按下空格键一般都会认为是一个词间距,因为英文中每个单词之间是有距离的,不像中文每个汉字连在一起的。所以不管你敲了几个回车,不管你敲了几个空格。程序都认为只有一个词间距的空格距离。我们把这种现象称为空白折叠现象。下图中的红色箭头就是我们敲了回车和敲了空格的效果。2、文...

weixin_39805998的博客 1475

fast-lio系列改进版本

2.回环检测的优化结果,更新到FAST-LIO2的当前帧位姿中,幷进行ikdtree的重构,进而更新submap。其它的效果还不清楚,实测lio部分稳定性很好。用fast-lio_slam就很稳定。融合了fast-lio2和sc-pgo,两部分分开运行,SC-PGO从FAST-LIO2节点获取里程计和激光雷达点云主题。的作者kim在FAST-LIO2的基础上,添加SC-PGO模块,通过加入ScanContext全局描述子,进行回环修正,SC-PGO模块与FAST-LIO2解耦,非常方便,很优秀的工作。

z1872385的博客 3189

基于STM32设计的猪舍养殖的监控系统_325

本课题基于STM32单片机,设计一款能够实时监测猪舍环境的智能监控系统。该系统能够通过温湿度、空气质量、光照强度等传感器实时监测猪舍的环境,并能够通过自动化控制设备(如风扇、照明灯、消毒喷雾等)调节环境参数,确保养殖环境的适宜性。同时,系统还支持通过ESP8266模块实现数据上传与远程控制,使养殖管理者能够通过手机APP或计算机远程监控和控制猪舍环境。

408

html+css学习笔记2(文档流和浮动)

文档流: 处在网页的最底层,创建的元素默认都处在文档流中。 元素在文档流中的特点: 块元素: 1,在文档流中独占一行,块元素自上向下排列; 2,块元素在文档流中默认宽度是100%,默认高度被内容撑开。 内联元素: 1,内联元素在文档流中只占自身大小,默认从左到右排列,内容满一行自动换到下一行。 2,内联元素在文档流中宽度和高度都默认被内容撑开 当元素宽度值为auto时,此时指定内边距不...

qq_43812504的博客 286

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

html的文档流,web前端学习路线分享CSS浮动-文档流篇

1、纯文本的排列。文档流就像我们的文本内容一样,所有的文字都会紧挨着,一个个排列下来,如果到了边界,就会换一行排列。当然如果敲回车或者按下空格键一般都会认为是一个词间距,因为英文中每个单词之间是有距离的,不像中文每个汉字连在一起的。所以不管你敲了几个回车,不管你敲了几个空格。程序都认为只有一个词间距的空格距离。我们把这种现象称为空白折叠现象。下图中的红色箭头就是我们敲了回车和敲了空格的效果。2、文...

weixin_39814454的博客 133

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

CSS学习笔记7:如何脱离标准文档流之浮动

标准流做不出网页:因为能并排的不能改宽高。所以,要脱离标准流。使元素脱离标准文档流的方法之一就是浮动,浮动也是css布局用的最多的属性。

全栈码农,专注java项目实战教程分享、大学生项目辅导开发讲解。 982

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

CSS基础学习二(标准文档流,浮动,定位)

一,标准文档流 二,脱标的方法 1,浮动 2,绝对定位 3,固定定位

ABC程序人生的专栏 221

ul横向排列css_web前端学习路线分享CSS浮动-文档流篇

1、纯文本的排列。  文档流就像我们的文本内容一样,所有的文字都会紧挨着,一个个排列下来,如果到了边界,就会换一行排列。当然如果敲回车或者按下空格键一般都会认为是一个词间距,因为英文中每个单词之间是有距离的,不像中文每个汉字连在一起的。所以不管你敲了几个回车,不管你敲了几个空格。程序都认为只有一个词间距的空格距离。我们把这种现象称为空白折叠现象。下图中的红色箭头就是我们敲了回车和敲了空格的效果。2...

weixin_39634898的博客 147

小程序 input 换行_好程序员web前端学习路线分享CSS浮动-文档流篇

1、纯文本的排列。文档流就像我们的文本内容一样,所有的文字都会紧挨着,一个个排列下来,如果到了边界,就会换一行排列。当然如果敲回车或者按下空格键一般都会认为是一个词间距,因为英文中每个单词之间是有距离的,不像中文每个汉字连在一起的。所以不管你敲了几个回车,不管你敲了几个空格。程序都认为只有一个词间距的空格距离。我们把这种现象称为空白折叠现象。下图中的红色箭头就是我们敲了回车和敲了空格的效果。2、文...

weixin_39600704的博客 1312

CSS标准文档流与脱离文档流

面试题千万不要死记,一定要自己理解,用自己的方式表达出来,在这里预祝各位成功拿下自己心仪的offer。需要完整面试题的朋友可以点击蓝色字体免费获取外链图片转存中…(img-Zx1wKNPQ-1713477872760)][外链图片转存中…(img-QdONf1dK-1713477872760)][外链图片转存中…(img-IuUafAS1-1713477872760)]

2401_84097696的博客 1148

css:float

<!DOCTYPE html> <html> <head> <title>float</title> <meta charset="utf-8"> <style> /* 浮动可以使一个元素向其父元素的左侧或者右侧移动 可以使用float来设置一个元素的浮动 可选值

HZBCc的博客 357

HTML5+CSS3学习笔记(九)前端页面六大布局(文档流布局、浮动布局、定位布局、表格布局、弹性布局、网格布局)

前端页面六大布局(文档流布局、浮动布局、定位布局、表格布局、弹性布局、网格布局)

Yeee_F 4059

Web前端第二季(CSS):八:第4章:CSS定位:401-浮动和普通文档流+402-浮动+403-浮动二+404-相对定位+405-绝对定位+406-固定定位

一.目的 1.想:学习前端知识 2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆。 二.参考 1.我自己代码的GitHub网址 ​​​​​GitHub - xzy506670541/WebTest: SIKI学院的Web前端 1.SIKI学院:我参考此视频实操 Web前端第二季(CSS) - SiKi学院 - 生命不息,学习不止! 我参考此视频实操 1.w3school官网:当做字典使用 w3school 在线教程 1.菜鸟教程:当做字典使用 ...

qq_40544338的博客 478
上一篇: CSS盒子模型入门学习
下一篇: Spring5框架入门学习之IOC实例化对象(一)
Galen-gao
博客等级 码龄9年 931粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值