问答详情
源自:4-1 relative的最小化影响原则

怎么会不用relative,relative要配合absolute使用啊,不然子元素会跑出去的啊

怎么会不用relative,relative要配合absolute使用啊,不然子元素会跑出去的啊

提问者:xh向日葵4282116 2016-12-19 16:23

个回答

  • 慕粉3988711
    2016-12-19 17:16:01
    已采纳

    原因老师上课讲了这是为了减小relative层级的影响;你的疑问是没错的,子元素top、right、bottom和left设置不得当绝对会跑出去,因为此时的relative是加在了文档上(你可以理解为body或html里的position为relative);但是如果你觉得这种元素超过父元素的界限范围是一种不能忍受的后果(这种超过改动起来仅仅重新计算一下到文档的距离即可,虽然相比于relative-absolute计算距离麻烦了点)你也可以使用relative-absolute,但是你必须得承受relative-absolute带来的层级覆盖的麻烦,老师的pig-head例子中由于元素过少还看不出来,假如那个例子中加了许多元素在他们的父元素里,而父元素是你想要的relative,然后absolute定位pig-head,则会出现层级覆盖这种严重影响感官的问题出现,会出现你想看的被你不想看的元素给遮盖或半遮半掩住了;那么我问你:“你要选择不加relative重新计算pig-head距离简单还是加了relative出现许多层叠bug一一修改简单?”;以上仅仅是个人理解如有问题,欢迎指出

  • xh向日葵4282116
    2016-12-20 10:39:44

       感谢你的回答,又有了新的理解与认识。