静态定位
1.静态定位是标签的默认定位方式,即各个标签在HTML文档流中的默认位置。
2.在静态定位状态下,无法通过边偏移属性(top,bottom,left,right)改变标签位置
3.一般我们需要将固定定位或者绝对定位以及其他定位转化为标准流下的元素时,我们需要将该元素设置为静态定位即可。
position:static;
绝对定位
position:absolute;
left:20px;
top:20px
特点:
1.通过给元素设置绝对定位可以改变元素的位置。
2.绝对定位是将标签依据最近的已经定位的父标签(绝对,固定,相对定位)进行定位,如所以父标签都没有定位,设置绝对定位的标签会依据body根标签(浏览器窗口)进行定位。
3.如果一个子元素的父元素没有设置定位或者设置了静态定位,那么该绝对定位的子元素是相对浏览器(body)左上角为参照进行位置移动的。
4.绝对定位的元素是脱标的元素(不占位置)。
5.绝对定位也可以让元素进行模式转换(脱标引起的)
绝对定位的使用场景
总结:
一般如果网页布局中出现一个容器(盒子)压着另外一个盒子,那么我们考虑绝对定位。
绝对定位(脱标)的元素居中显示
margin:0 auto;只能让标准流的盒子居中
推荐方式:
position:absolute;
/*相对父元素宽度的一半*/
left:50%;
margin-left:-相对于自己元素宽度的一半;[transform:translateY(-50%);]
小米案例(背景图去官网偷吧)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
*{
margin: 0;
padding: 0