CSS重点总结(二)——定位,浮动对元素的影响

一、定位

定位 相对于谁定位的 是否脱离文档流 是否改变元素类型 用途
相对定位 相对于自己来定位的 半脱离文档流 不改变元素类型 一般给绝对定位当父级
绝对定位 相对定位父级来说的,(定位父级就是这个元素的父级里面要有定位(position),什么position都可以)如果没有定位父级那就相对于body来进行定位. 完全脱离文档流 改变元素类型(行内块) 一般是对小图标进行定位的(最好不要用来布局)
固定定位 相对于可视区,始终以电脑屏幕的左上角参考点 完全脱离文档流 改变元素类型(行内块) 一般用在广告,弹窗

绝对定位是针对浏览器固定在某个位置;
相对定位是针对视图(浏览器在电脑屏幕上的显示)里某个元素固定在某个位置;
固定定位是针对整个视图(整个浏览器,也就是滚动也不会影响定位)固定在某个位置。

二、文档流

1、层级:

标准流盒子,低于浮动的盒子,浮动的盒子又低于定位的盒子。
给定z-index的值为层级的值。(不给默认为0)

特点
1、层级为0的盒子,也比标准流和浮动高。
2、层级为负数的盒子,比标准流和浮动低。
3、层级不取小数
4、层级一样,后面的盒子比前面的层级高。

2、流体特性

块状水平元素,如div元素(下同),在默认情况下(非浮动、绝对定位等),水平方向会自动填满外部的容器;如果有margin-left/margin-right, padding-left/padding-right, border-left-width/border-right-width等,实际内容区域会响应变窄。

2.1

==float脱离文档流(半脱离文档流)==时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这个元素让出位置,环绕在周围。
注意相对定位和float的脱离文档流有些区别,相对定位移动后原来位置空间还是存在。

2.2

==position:absolute脱离文档流(完全脱离文档流)==的元素,其他盒子与其他盒子内的文本都会无视它。

三、元素的三种形式

CSS重点总结(二)——定位,浮动对元素的影响
块标签可以套行标签,行标签不可以套块标签。
P标签不要套块属性标签,可以套a,span,文本。