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

来源:8-4 CSS3中的变形--位移 translate()

Sharon_zd

2015-06-28 18:35

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

写回答 关注

2回答

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

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

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

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

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

十天精通CSS3

本课程为CSS3入门教程,深刻详解CSS3知识让网页穿上绚丽装备

242554 学习 · 2623 问题

查看课程

相似问题