css下段代码中 left:50%; margin-left:-512px; z-index:1;这三个是具体是什么意思和作用?

html-css018

css下段代码中 left:50%; margin-left:-512px; z-index:1;这三个是具体是什么意思和作用?,第1张

left:50%margin-left:-512pxz-index:1

这三个定义在.foot中,目的是使.foot在浏览器中水平居中显示。

原理(对齐浏览器的中心点与.foot的中心点,这样就使得.foot在浏览器中水平居中了):

left:50%//使.foot距离浏览器左边50%,即一半;

margin-left:-512px//使.foot向左移动512像素,这个使就是.foot中width的一半;

z-index:1//定义.foot的层级,值越大的越靠前显示,使用z-index时需要定义position:absolute、relative或fixed。举例:z-index:2的div会盖住z-index:1的div

position:absolute 已经脱离文档流,它的margin直接相对于body定位。正常来讲,删掉left:50% 位置应该发生变动才对(正常情况会跑出父元素的控制范围)。很奇怪,求源代码代码一起研究(它的父元素和兄弟元素对它都是有影响的)。

margin-left 相对于谁,就要看父元素了,如果父元素也是absolute,那么相对于父元素,否则直接相对于窗体(body).

居中效果:

left:50%,margin-left:-60px 如果它的长度正好是60px,那么看起来正好居中:这时它到的实际左外边距等于: 可用空间的50%-60px。