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

来源:15-7 水平居中总结-不定宽块状元素方法(三)

StayRealDream

2015-04-26 18:20

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

写回答 关注

5回答

  • 偏爱花开的声音
    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%就行了。

    阿K行者

    明白了,感谢!

    2015-05-18 20:08:08

    共 2 条回复 >

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

    因为与元素没有设置 width   

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

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

    so   

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


    小倔强

    请问子元素为什么就不用添加float:left呢, 如果说子元素是根据父容器的宽度,那么现在例子中的父容器也可以根据body的宽度进行left:50%

    2015-08-03 13:24:44

    共 1 条回复 >

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

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


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

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

    SamarZ

    如果不使用浮动的话,块级元素默认占一行的

    2015-05-10 15:14:10

    共 1 条回复 >

初识HTML(5)+CSS(3)

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

1230790 学习 · 19084 问题

查看课程

相似问题