(个人知识有限,难免有误,请见谅)

  标准文档流,顾名思义,是要按照一定规矩排列的,默认的就是元素会从左至右,从上至下排列,块级会独占一行,行内元素会和小伙伴们共享一行。

  本来在标准文档流下,各个元素相安无事,可突然有一天某个元素心想啊,我那么优秀,不该出现在这里啊,于是它成精了,它发现了一道大门走向另一个空间BFC。

  BFC:直译为“块级格式化上下文”,这是一个独立的区域,这个区域与外部没有关系了,互不招惹,个人常用的会开启BFC空间的方式有

  1.float的值不是none

  2.position的值不为relative和static

  3.display为inline-block

  4.overflow不为visible

  当然还有其他的方式会产生BFC,这里就不列举了。

  先说说float,浮动,它会相对于自己最近的父元素进行定位,往左或者往右,这种方式会给我们布局带来便利,也可以变相的清除一些空文本给我们带来的不必要的空隙,但是使用它的时候需要注意清除它,不然由于它会脱离文档流的缘故,它的兄弟元素会跑到它原来的位置占位,或者它的父元素会因此而坍塌,这样会造成布局的混乱,就好比是在同一个位置,不同的时空,虽然浮动之后的元素还在,但是其他元素却看不见它,当然这个比喻并不怎么恰当,为了防止布局的混乱,也就是浮动之后带来的你不想要的效果,浮动之后一定要记得清除浮动,清除浮动常用的方式可以直接clear掉,当然也可以使用伪类:after来清除浮动,对于overflow:hidden,还有给浮动元素的父元素设置float来撑开父元素的高度,其原理也是开启BFC,将父元素与子元素置于同一个空间。

  再说说position,position定位也是一种脱离普通文档流的做法,它的定位方式是相对于最近的已经定位的祖先元素,常见的方式就是子绝父相,子元素绝对定位,父元素相对定位,使用这种方式可以让子元素相对于父元素做定位,使用position:absolute的时候记得设置x,y轴的值,也就是left,top(当然也可以rigth,top,具体情况自己决定)的值,目前我不知道有什么方式可以让position为absolute与fixed的元素再从自己开辟的BFC中出来,建议只在必须的情况下使用position定位,因为position定位使用多了,大家都脱离了普通文档流,可能会给后续的布局带来困难,既然说到了position,那就顺带再提提z-index,z-index相当于布局中的z轴,在使用了position:relative 或者absolute 或者fixed的时候z-index值便会生效,简单的说如果有几个元素重叠在了一起,这时z-index后面的值谁大,谁就会显示,其实其它元素也还在,只是被z-index值最大的那个元素挡住了,注意z-index后面的值没有单位的哈。

  最后,关于display:inline-block,我最长用的时候无非就是让霸气的块级元素能够容忍其它元素和它共享一行,或者让谦逊的行类元素拥有能够设置width,height的能力。

浅谈,html\css脱离标准文档流相关的更多相关文章

  1. CSS的三种手段让元素脱离标准本文档流——浮动、绝对定位、固定定位

    1.浮动 浮动是CSS中用到的最多的一个选项,他有三个性质.关于浮动我们要强调一点,永远不是一个东西单独浮动,浮动都是一起浮动,要浮动,大家都浮动. 1.1 浮动元素脱离标准文档流 1.1.1 大概描 ...

  2. css标准文档流

    css标准文档流 所谓的标准文档流指的是网页当中的一个渲染顺序,就如同人类读书一样,从上向下,从左向右.网页的渲染顺序也是如此.而我们使用的标签默认都是存在于标准文档流当中. 标准文档流当中的特性 空 ...

  3. CSS层叠的问题、标准文档流、伪类选择器

    一.层叠的问题 CSS有两个性质: 1.继承性 2.层叠性:选择器的一种选择能力,谁的权重大就选谁 层叠性又分为: 1).选不中:走继承性  (font.color.text.) 继承性的权重是0 若 ...

  4. day 41 标准文档流 浮动

    一.标准文档流 什么是标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web 网页的制作,是个“流”,从上而下 ,像 “织毛衣”.而设计软件 ,想往哪里画东西,就去哪里画 标准文档 ...

  5. python 全栈开发,Day48(标准文档流,块级元素和行内元素,浮动,margin的用法,文本属性和字体属性)

    昨日内容回顾 高级选择器: 后代选择 : div p 子代选择器 : div>p 并集选择器: div,p 交集选择器: div.active 属性选择器: [属性~='属性值'] 伪类选择器 ...

  6. {03--CSS布局设置} 盒模型 二 padding bode margin 标准文档流 块级元素和行内元素 浮动 margin的用法 文本属性和字体属性 超链接导航栏 background 定位 z-index

    03--CSS布局设置 本节目录 一 盒模型 二 padding(内边距) 三 boder(边框) 四 简单认识一下margin(外边距) 五 标准文档流 六 块级元素和行内元素 七 浮动 八 mar ...

  7. padding(内边框), border(边框), margin, 标准文档流, 块级元素和行内元素, 浮动 ,margin的用法

    盒模型 在CSS中,"box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和IE模型 ...

  8. CSS标准文档流 块级元素和行内元素

    标准文档流 什么是标准文档流 宏观的将,我们的web页面和ps等设计软件有本质的区别,web 网页的制作,是个“流”,从上而下 ,像 “织毛衣”.而设计软件 ,想往哪里画东西,就去哪里画 空白折叠现象 ...

  9. 前端css盒模型及标准文档流及浮动问题

    1.盒模型 "box model"这一术语是用来设计和布局时使用,然后在网页中基本上都会显示一些方方正正的盒子.我们称为这种盒子叫盒模型. 盒模型有两种:标准模型和IE模型.这里重 ...

随机推荐

  1. MongoDB中的MapReduce介绍与使用

    一.简介 在用MongoDB查询返回的数据量很大的情况下,做一些比较复杂的统计和聚合操作做花费的时间很长的时候,可以用MongoDB中的MapReduce进行实现 MapReduce是个非常灵活和强大 ...

  2. spark2的编译

    0.操作系统 centos:6.4 hadoop:2.5.0-cdh5.3.6 1.为什么要编译 spark 源码? 学习spark的第一步 就应该是编译源码,后期修改和调试,扩展集成的功能模块 2. ...

  3. vscode调试html页面,及配置说明

    一.效果目的 1.在VSCode里,直接F5打开html页面,并且可以在编辑器里,进行断点调试js代码: 二.工具准备 1.VSCode 软件 2.一个js项目 3.VSCode 上装一个插件:Deb ...

  4. 彻底理解线程同步与同步代码块synchronized

    public class Demo { public static synchronized void fun1(){ } public synchronized void fun2(){ } pub ...

  5. Python函数中如何定义参数

    一.位置参数:根据函数定义时的参数位置传递参数#形参和实参的个数必须一致def fun1(): print("运行结果") print("this is fun1(),n ...

  6. 一个非常好用的图片切割工具(c# winform开发) 附源码

    本人业余时间开发了一个图片切割工具,非常好用,也很灵活! 特别对大型图片切割,更能体现出该软件的优势! 开发工具为winform,源码下载地址:http://download.csdn.net/dow ...

  7. MySQL slave_exec_mode 参数说明

    背景: 今天无意当中看到参数slave_exec_mode,从手册里的说明看出该参数和MySQL复制相关,是可以动态修改的变量,默认是STRICT模式(严格模式),可选值有IDEMPOTENT模式(幂 ...

  8. java基础进阶一:String源码和String常量池

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8046564.html 邮箱:moyi@moyib ...

  9. 《JavaScript设计模式》读书笔记——灵活的语言

    最近在读JavaScript设计模式这本书,准备搞一个系列来记录所学所想,其实主要原因是方便以后查阅. 第一章主要介绍了JS函数的不同定义与使用方法,用自己的方法去模拟类也是它的独有魅力所在. 首先, ...

  10. Java---String总结

    JAVA中的String类,不管是日常开发,或者是面试,都是常用的类之一,所以写在这里也为为了总结,方便以后的查阅与复习.   特点: 1.Java中所有的类中,String是使用最多的一个类 2.是 ...