17 css定位

css定位
	定位是用来移动元素位置的。
	相对位置,参考元素原始位置,偏移某个距离
	绝对位置,参考点是最近的有定位的祖先元素,偏移某个距离
	
定位
1 css定位 相对定位  绝对定位  固定定位
   为什么
	  移动元素
      设置元素在包含块中出现的位置,以及遮盖

2 相对定位
     position: relative;
	 参考自己原来的位置,偏移某个距离

     * 用途
		1 做一些位置微调 
		2 配合绝对定位使用 

     * 相对定位的元素不脱标,它原本所占的空间仍保留

		top 正数向下  可以理解为:距离原来位置顶边框,距离是100个像素     
		left 正数向右   距离原来位置左边框,距离是100个像素    
		right 正数向左  距离原来位置右边框,距离是100个像素    
		bottom 正数向上  距离原来位置底边框,距离是100个像素    

		任意组合  从top、bottom选一个 left、right选一个

3 绝对定位
  	position: absolute
    * 绝对定位元素脱离标准文档流
		脱标的意思:元素框不在文档流中,与文档流无关了,不占用文档流的空间
    * 定位参考点
		相对于其包含块:绝对定位的元素,他的参考点相是最近的有定位的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块
 
        c 祖先盒子做参考点
             子绝父相最常见的定位手段
             最近的有定位的祖先元素:最近的、(无论何种定位 相对可以 绝对也可以 固定定位都可以)、祖先元素做参考

   * 绝对定位的元素居中
      	 margin: 0 auto;  不管用 原因适合标准流中有宽度的块元素
   只能用margin-left,margin-right

   * 应用
       90%的压盖效果都是绝对定位做的           


4 固定定位
    position: fixed;
    * 固定定位元素也是脱标
    * 参考点: 浏览器的左上角

图片的垂直对齐方式
     vertical-align:text-top  跟文本顶部对齐
	 text-bottom 跟文本底部对齐

z-index属性
	1  作用: 负责谁压盖谁
		1、 定位的元素能够压住没有定位的( 默认情况)
		2、假如都定位了,html代码后面的盒子压住前面的

		div   没有定位
		div   绝对定位
		div   相对定位

	2   使用
      * z-index: 数字  数字大的压住数字小的 ,默认值是0,
      * z-index只适用于有定位的元素,标准流的元素不能写z-index,浮动的元素也不能写z-index 
			z-index:-1 可以使定位元素放在标准流元素的后面

      * 拼爹现象 见案例
               如果父元素都是定位元素,则比较父元素的z-index大小,值大的盖住值小的,
什么是拼爹现象

  

原文地址:https://www.cnblogs.com/xuanjian-91/p/10987008.html