文档流与浮动

文档流指的是元素排版时,会自动从左往右,从上往下的流式排列方式。

元素分为两类

默认独占一行,不能与其他元素并列,可以容纳内联元素和其他块元素,可以设置高和宽,如果不设置宽,则默认设置宽度为父级的100%
如:div dl dt dd h1~h6 ul li ol tr td hr p pre等

(2)行内元素

和其他元素都在一行上,宽高及外边距和内边距不可改变,宽度就是它的文字或图片的宽度,内联元素只能容纳文本或者其他内联元素,行内元素可以由line-height设置行高设置margin 只有左右margin有效,上下无效。设置padding 只有左右padding有效,上下则无效。
如:a span button b big img input em等

块级元素和行内元素可以相互转换

通过display属性进行设置,display是显示模式,用来改变元素的行内、块级性质。

2.浮动

即float,可设置左浮动left和右浮动right。
元素设置浮动以后,会完全脱离文档流,并向页面的左上或右上浮动。直到遇到父元素的边框或其他的父元素时则停止浮动。元素浮动后可能会出现围字现象,或者原本标准流的内容被遮挡住。

浮动带来的问题

大专栏  文档流与浮动7%88%B6%E5%85%83%E7%B4%A0%E9%AB%98%E5%BA%A6%E5%A1%8C%E9%99%B7" class="headerlink" title="父元素高度塌陷">父元素高度塌陷

在文档流中元素的高度默认被子元素撑开,当子元素浮动时,子元素会脱离文档流,此时将不能撑起父元素的高度,会导致父元素的高度塌陷。从而导致其他元素的位置上移,页面布局混乱。

解决办法
(1)给父元素设置height
(2)父元素添加伪类清楚浮动
1
:after{display:block;clear:both;content:"";visibility:hidden;height:0}
(3)给父元素添加
1
overflow:hidden/auto;
(4)让父元素也浮动

原文地址:https://www.cnblogs.com/lijianming180/p/12014188.html

时间: 2024-10-22 04:22:47

文档流与浮动的相关文章

页面标准文档流、浮动层、float属性(转)

CSS float 浮动属性介绍 float属性:定义元素朝哪个方向浮动. 1.页面标准文档流.浮动层.float属性 1.1 文档流 HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行. 1.2 浮动层 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框. 而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素.内联元素

前端(七)—— 高级布局:文档流、浮动布局、流式布局、定位布局、flex布局、响应布局

高级布局:文档流.浮动布局.流式布局.定位布局.flex布局.响应布局 一.文档流 1.什么是文档流 将窗体自上而下分成一行一行,块级元素从上至下.行内元素在每行中从左至右的顺序依次排放元素 2.本质 文档流本质是 nomal flow (普通流.常规流) 3.BFC(Block Formatting Contxt) 块级格式化上下文,它是一个独立的渲染区域,只有Block-level box参与,它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干 4.BFC的规则

position脱离文档流与浮动脱离文档流的区别

以前我觉得position:absolute;是可以脱离文档流的,float:left;也可以脱离文档流,就觉得二者是一样的,感觉可以去浮动的方法来解决position:absolute;引起的父元素塌陷问题,结果证明我错了...下边是一个demo. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title></title> 6 &l

float/文档流/清除浮动

1.float:left|right|none|inherit 2.文档流是万张中显示排列时候所占的位置 3.浮动的定义:使元素脱离文档流.按照指定方向移动,遇到父级边界或者相邻的浮动元素停下来 4.clear:left|right|none|inherit;元素的某个方向上不能有浮动元素 cear:both:在左右两侧均不允许浮动元素 清楚浮动的方法: <head> <meta charset="UTF-8"> <title>Document<

认识CSS中布局之文档流、浮动、定位以及叠放次序

前端之HTML,CSS(七) CSS CSS布局的核心就是盒子的摆放,即CSS定位.而CSS中定位机制分为:普通流(nomal flow).浮动(float).定位(position). 普通流 普通流又被称为文档流或者标准流,普通流是指网页内标签元素正常情况下会按照自上而下,自左向右按顺序排列.即块级元素独占一行,多个块级元素存在会自上而下顺序排列,多个行内元素会共占一行,自左向右排列. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 &l

文档流、浮动 、定位的概念【转】

原文链接:https://blog.csdn.net/qq_40028324/article/details/80035129 1.文档流 - 所有的元素默认情况下都是在文档流中存在的- 文档流是网页的最底层- 元素在文档流中的特点:- 块元素1.默认宽度是父元素的全部2.默认高度被内容(子元素)撑开3.在页面中自上而下垂直排列- 内联元素1.默认高度和宽度都被内容撑开2.在页面中自左向右水平排列,如果一行不足以容下所有的元素则换到下一行继续从左向右 2.浮动- 使用float来设置元素的浮动-

标准文档流.浮动以及清除浮动(学习笔记)

标准文档流 1.当后面空间不够时,会空白折叠,自动换行. 2.当高矮不齐时,会底部对齐. 3.自动换行. 标签根据显示的内容划分成:文本级,容器级. 按照文档流划分:块级元素.行内元素; 块级元素: (1).霸占一行,不能与其他任何元素并列. (2)能接受宽高. (3).如果不设置宽度,那么宽度将默认变为父亲的100%. 行内元素: (1).与其他行内元素并排; (2)不能设置宽高.默认宽度就是文字宽度. 所有的文本级标签,都是行内元素,除了p,p是个文本级,但是是个块级元素. 所有的容器级标签

三种可视化格式模型:普通文档流、相对定位与绝对定位、浮动

在CSS中是有三种定位机制的:普通文档流.浮动和绝对定位.在未指定其它两种定位机制的情况下,所有框都是在普通文档流中定位的. 普通文档流: 普通文档流,顾名思义,就是根据块级元素的标签在HTML里的顺序,像水流一样,从上至下.当然对于行内元素而言,还是在一行中水平排列的. 这里插入一个积累的小知识点. 行内元素可 以在水平(内间距.边框.外边距)方向上修改它们水平尺寸,但是在垂直方向上对行内元素的高度是毫无影响的,还有就是直接定义行内元素的 width/height也是毫无影响.对与行内元素来说

CSS定位机制Ⅰ——文档流定位

关于CSS的定位机制Ⅰ ㈠概念 对于盒子模型来说,也就是页面元素,这些盒子究竟在页面的什么位置,怎样排列它,那么找到它的位置,确定它的位置,这个就是定位机制所决定的. ㈡分类 文档流, 浮动定位,层定位 ㈢三种类型定位的功能 ⑴文档流定位(flow)   默认 我们不需要额外的设置,每种元素它们在当前的网页上面呈现出来的状态都不同,文档流定位就相当于我们平常写字一样,都是从上到下,从左到右,只是有的元素会单独占一行,有的元素跟其他元素在一行上显示. ⑵浮动定位(float) 改变默认的文档流定位