定位:定位指的就是将指定的元素摆放到页面的任意位置。
通过定位:可以任意的摆放元素。
通过position属性设置定位:
可选值:
static:元素没有开启定位(默认值)
relative:开启元素的相对定位。
absolute:开启元素的绝对定位。
fixed:开启元素的固定定位。
- 当开启(position的值是一个非static的值)了元素的相对定位以后,没有设置偏移量时,元素不会发生任何变化。
- 相对定位是相对元素在文档流中原来的位置进行定位
- 相对定位的元素不会脱离文档流
- 相对定位会使元素提高一个层级。
- 相对元素不会改变元素的性质,块还是块,内联还是内联。
开启了元素的定位以后可以通过left top bottom right的值来设置元素的偏移量(通常偏移量只用两个就可以定位。一半选择水平方向和垂直方向的各一个元素。)
left:元素相对于其定位位置的左偏移量。(其他类似)
.box2{
width: 100px;
height: 100px;
background-color: navajowhite;
/*margin-left:100px ;
margin-top: 100px;*/
position: relative;
left: 50px;
top: 200px;
}
绝对定位
当position属性设置为absolute时候开启元素的绝对定位。
- 开启绝对定位会使元素脱离文档流,
- 如果不设置偏移量,则元素的位置不会发生改变。
- 绝对定位是相对于离它最近的开启了定位的祖先元素进行定位的(一般情况开启子元素的绝对定位都会同时开启父元素的相对定位),(如果所有的祖先元素都没有开启定位,则相对于浏览器窗口定位)
- 绝对定位会使元素提升一个层级
- 绝对定位会改变元素的性质。内联变成块元素。块元素的宽度和高度都被内容撑开。
固定定位(也是一种绝对定位)
当position属性设置为fixed时候开启元素的固定定位(大部分特点和绝对定位一样
不同点:永远都会相对于浏览器窗口进行定位。
特点:固定定位会固定在浏览器窗口的某个位置。