本周新学习了css样式,记录一下自己对其中定位的理解,有兴趣的可以看一看。
position:用于指定一个元素在文档中的定位方式。
取值:
1.(默认值)static:对象遵循常规流。此时4个定位偏移属性不会被应用。
2.(相对定位) relative:对象遵循常规流,并且参照自身在常规流中的位置通过top,right,bottom,left这4个定位偏移属性进行偏移时不会影响常规流中的任何元素。
3.(绝对定位) absolute:对象脱离常规流,此时偏移属性参照的是离自身最近的定位祖先元素,如果没有定位的祖先元素,则一直回溯到body
元素。盒子的偏移位置不影响常规流中的任何元素,其margin
不与其他任何margin
折叠。
4.(固定定位)fixed:与absolute
一致,但偏移定位是以窗口为参考。当出现滚动条时,对象不会随着滚动。
5.(CSS3)sticky:对象在常态时遵循常规流。它就像是relative
和fixed
的合体,当在屏幕中时按常规流排版,当卷动到屏幕外时则表现如fixed
。该属性的表现是现实中你见到的吸附效果。
补充说明:
1.当position的值为非static时,其层叠级别通过z-index属性定义——
同一个层叠上下文中,层叠级别大的显示在上面,反之显示在下面;
同一个层叠上下文中,层叠级别相同的两个元素,依据它们在HTML文档流中的顺序,写在后面 的将会覆盖前面的;
不同层叠上下文中,元素的显示顺序依据祖先的层叠级别来决定,与自身的层叠级别无关。
2.绝对定位的元素,在top,right,bottom,left属性未设置时,会紧随在其前面的兄弟元素之后,但在位置上不影响常规流中的任何元素。