定位

定位

1.absolute绝对定位,通过left/top/right/buttom,以具有position属性的父元素为参考进行定位,使用场景是需要相对于父元素或者<html>根节点进行定位。

absolute偏移的参考点首先是父元素,然后检查该父元素是否具有position属性,若具有position属性,则以该父元素为参考点进行偏移,若不具有则继续往上一级找,查看其是否有position属性,直到hrml标签为止还无,则以根节点html为参考点。

2.relative相对定位,通过left/top/right/buttom,以自己的位置进行定位,使用场景是偏移前的位置需要保留,不脱离文档流。

relative偏移的参考点是自身位置,是拿偏移前的位置与偏移后的位置进行比较,比如top10px,表现出来的其实是向下移动10px。

3.fixed固定定位,通过left/top/right/buttom,以浏览器窗口进行定位,使用场景是固定于浏览器的某个位置不动。

fixed偏移的参考点是浏览器窗口。

注意:position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

       position:relative发生偏移后,在文档流中的位 置不变。
       负margin会改变元素在文档流中的位置。

z-index

  • 因为显示器是显示的图案是一个二维平面,拥有x轴和y轴来表示位置属性。为了表示三维立体的概念如显示元素的上下层的叠加顺序引入了z-index属性来表示z轴的区别。表示一个元素在叠加顺序上的上下立体关系。

  • z-index值较大的元素将叠加在z-index值较小的元素之上。对于未指定此属性的定位对象,z-index 值为正数的对象会在其之上,而 z-index 值为负数的对象在其之下。

  • z-index属性适用于定位元素(position属性值为 relative 或 absolute 或 fixed的对象),用来确定定位元素在垂直于显示屏方向(称为Z轴)上的层叠顺序,也就是说如果元素是没有定位的,对其设置的z-index会是无效的。

  • 相同z-index谁上谁下
    1.如果两个元素都没有定位发生位置重合现象或者两个都已定位元素且z-index相同发生位置重合现象,那么按文档流顺序,后面的覆盖前面的。
    2.如果两个元素都没有设置z-index,使用默认值,一个定位一个没有定位,那么定位元素覆盖未定位元素
    父子关系处理
    1.如果父元素z-index有效,那么子元素无论是否设置z-index都和父元素一致,会在父元素上方
    2.如果父元素z-index失效(未定位或者使用默认值),那么定位子元素的z-index设置生效

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,263评论 1 92
  • 一、文档流的概念指什么?有哪种方式可以让元素脱离文档流? 1、文档流指的是元素在排列布局中所占用的位置,具体的说是...
    鸿鹄飞天阅读 860评论 0 0
  • CSS 定位 CSS有三种基本的定位机制:普通流,浮动,绝对定位(absolute, fixed):普通流是默认定...
    _空空阅读 6,005评论 0 15
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 1,098评论 0 2
  • 1.浮动 浮动元素的特征: 浮动元素的框可以向左或者向右移动,直到它的外边缘碰到父元素包含框或者另一个浮动元素的边...
    好奇男孩阅读 308评论 0 1

友情链接更多精彩内容