老师,设置了浮动的元素是不是全部都会在一行显示?

老师,设置了浮动的元素是不是全部都会在一行显示?

就算因为父元素宽度的问题被挤到了下一行,但是它实际上还是在第一行,我这样理解对吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
Miss路 2017-05-24 11:09:17

margin-left可能的值以及意义:是相对于父元素的,有点难理解,但是要记住这个技巧。

http://img1.sycdn.imooc.com/climg//5924f86f0001a26a07020158.jpg

  • 提问者 唐小贱 #1
    left和right很明显被挤到了第二行,但是left用了margin-left:-100%之后并没有往左移动,而是到了它原本位置的正上方,这就是我不理解的地方,fight也是同理。
    2017-05-24 11:18:00
  • Miss路 回复 提问者 唐小贱 #2
    被挤到第二行是因为middle设置了宽度为100%,所以后面的元素会被迫到达第二行,这时还设置了一个container父容器,给了相应的填充,这里的margin-left:-100%是相对于父容器来讲的,事实上是像做移动了一个父容器的宽度,那么此时就会移到父容器的最左边,但是看上去像是向上移动了。right也是同理,right是向左移动了它本身的宽度,也是相对于父容器移动的,所以就到了你看到了的位置,因为他们都是浮动的元素,是被挤到下面的,不是本身是两行的,只要往左移到一定的宽度,就会跑上去。希望能帮到你,祝学习愉快!
    2017-05-24 13:56:32
  • 自己试验了代码,right的margin-left:-219px就上不去,设成宽度为220px也就是right预设的宽度就能上去,这个还是挺不好理解的
    2017-07-28 00:47:19
Miss路 2017-05-24 10:45:43

设置了浮动之后在容器宽度能够容纳的前提下是显示在一行的,但是超过容器的宽度之后可能会换行,这个是他的表现方式,不用纠结是实际显示在一行还是表现在一行。margin-left为负的时候会往左移动,和正数的时候相反。祝学习愉快!

  • 提问者 唐小贱 #1
    但是圣杯布局哪里left是向上移动了啊
    2017-05-24 10:47:37
OlafChou 2017-05-24 06:00:23

我不是老师,但是我认为这不对啊,应该算下一行

  • 提问者 唐小贱 #1
    可圣杯布局那一节的margin-left:-100%怎么解释?
    2017-05-24 09:31:00
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师