问答详情
源自:8-4 CSS3中的变形--位移 translate()

translate()里面的-50%为什么是相对于自身?

为什么top和left属性后面的百分数是相对于父元素, 而ranslate()里面的百分数却是相对于自身?

提问者:Sharon_zd 2015-06-28 18:35

个回答

  • 码农吊车尾
    2016-10-26 15:25:08

    因为前面设置了position:absolute;所以left,right是相对于所有父元素中含定位的那个元素;如果设置position:relative,那就和translate一样的效果了。

    而translate定义就是相对于其自身,这个没什么可解释的,属于文档定义。

  • fluteonline
    2015-07-05 14:40:56

    设置了设置position:absolute,相对于其最接近的一个具有定位属性的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元素,即相对于浏览器窗口。