一、什么是定位
改变元素在页面中的位置
二、定位的分类
1、普通流定位
2、浮动定位
3、相对定位
4、绝对定位
5、固定定位
三、普通流定位
页面中元素的默认定位方式,默认文档流,从上往下,从左往右
1、每个元素都在页面有自己的空间
2、每个元素都是从父元素的左上角开始显示
3、块级元素都是按照从上到下的方式逐行排列,每个元素独占一行
4、行内元素是多个元素在一行显示,从左往右逐个排列
四、浮动定位
1、当元素设置浮动后,该元素脱离默认文档流,后面的元素会上前补位。当前元素会在当前行,向左或者向右排列
float:left、right、none
特点:
(1)、元素一旦浮动,就脱离文档流了,不占据页面空间,后面会上前补位
(2)、浮动元素会停靠在父元素的左边/右边,或者其他已经浮动元素边缘
(3)、浮动就是解决多个块级元素在一行显示的问题
2、浮动引发的特殊情况
a、(1)当父元素显示不下所有已浮动元素的时候,显示不下的几个将换行显示,换行显示的规则:优先上浮,之后向左/右对齐
(2)浮动元素占位,浮动元素会根据浮动方向,占据方向上的位置,不让其他后面浮动元素占用
b、元素一旦浮动,如果没有定义宽度,宽度会以内容为准
c、元素一旦浮动起来,就变成了块级元素,可以设置宽高,可以设置上下外边距
d、文本,行内元素,行内块元素是不会被浮动元素压在下方。而是巧妙的避开了所有浮动元素,围绕者浮动元素显示
e、清除浮动:元素一旦浮动起来会对后续元素带来一定影响(后续元素会上前补位),如果后续元素不想上前补位,那么给后续元素设置clear,清除前面浮动元素带来的影响
clear:left/right/both