问答详情
源自:15-7 水平居中总结-不定宽块状元素方法(三)

为什么要先给父元素float:left

为什么要先给父元素float:left

提问者:StayRealDream 2015-04-26 18:20

个回答

  • 偏爱花开的声音
    2015-11-04 07:40:40

    首先要知道:设置了position :relative ;的元素,它移动时的参考位置是这个元素自己的初始位置。

    而为本章中的父元素设置了

    float:left;

    之后,可以保证父元素的初始位置在body的最左边,在这一基础上,再应用 left :50% ; 才可以保证父元素向右移动了50%之后,它的左边框刚好在body的正中间。

  • SamarZ
    2015-05-09 11:01:14

    其实这个方法的思路是这样的:要让元素居中就给他left50%好了。可是元素本身还有宽度,left50%之后元素的左边位于页面的中间而不是元素本身。所以就给元素加一个包裹层,让这个包裹层left50%,然后要居中的元素本身只要相对于他的包裹层再左移50%即left-50%就行了。

  • SAI1234
    2015-04-27 10:40:01

    因为与元素没有设置 width   

    position:relative;  这个是相对于自己来设置移动。

    left:50%:这个是相对于自己来说,可以因本身没有设置宽度,所以没有参照物

    so   

    float:left  :这个属性有自动计算元素的宽度的。配合 left 来使用。


  • StayRealDream
    2015-04-26 18:35:17

    浮动元素是跟据内容的多少来占位置的


  • StayRealDream
    2015-04-26 18:31:26

    使用了float:left才会向左“挤”。否则元素长度占了一行。???