position定位属性
各属性值的作用:static、absolute、relative、fixed
static:默认值。位置设置为 static 的元素会正常显示,它始终会处于文档流给予的位置(static 元素会忽略任何 top、bottom、left 或 right 声明)。
relative:是相对于默认位置的偏移定位,通过设置left、top、right、bottom值可将其移至相对于其正常位置的地方(相对于自己的开始的位置发生的位置上的移动,不会破坏正常的布局流。
absolute:相对于父级元素的绝对定位,浮出、脱离文档流,它不占据空间,就是我们所说的层,其位置相对于最近的已定位父元素而言的位置,若父级都没有定位,则以html(根元素)进行定位参考,可直接指定 “left”、“top”、“right” 以及 “bottom” 属性。。(层叠的顺序z-index:value)
fixed:固定定位:相对浏览器的绝对定位,不占位,是相对于浏览器窗口的指定坐标进行定位。此元素的位置可通过 "left"、"top"、"right" 以及"bottom" 属性来规定。不论窗口滚动与否,元素都会留在那个位置,脱离文档流。
新增属性值:position:sticky
position:sticky是css定位新增属性;可以说是相对定位relative和固定定位fixed的结合;它主要用在对scroll事件的监听上;简单来说,在滑动过程中,某个元素距离其父元素的距离达到sticky粘性定位的要求时(比如top:100px);position:sticky这时的效果相当于fixed定位,固定到适当位置。
兼容较差,低版本浏览器无法使用,IOS支持,安卓不支持
定位元素层叠属性:
z-index : auto |number
检索或设置对象的层叠顺序。 auto:默认值。 number:无单位的整数值。可为负数 没有设置z-index时,最后写的对象优先显示在上层,设置后,数值越大,层越靠上;
说明:较大数值的对象会覆盖在较小 数值的对象之上。如两个绝对定位对象的此属性具有同样的 number 值,那么将依据它们在HTML文档中声明的顺序层叠。 此属性仅仅作用于 position 属性值为 relative 或 absolute 的对象。
让一个盒子始终在窗口的水平垂直中间
div{
width:200px;
height:200px;
background:#f00;
position:fixed;
left:50%;
top:50%;
margin:-100px 0 0 -100px;
}
命名锚点链接
定义: 是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样是一种页面内的超级链接,运用相当普遍。
应用:
命名锚点的作用:在同一页面内的不同位置进行跳转。
在不同页面跳转:<a href="跳转的页面的地址#命名锚记名称"></a>
制作锚标记:
1)给元素定义命名锚记名 语法:<标记 id="命名锚记名"> </标记>
2)命名锚记连接 语法:<a href="#命名锚记名称"></a>