圣杯布局中的float和margin-left

圣杯布局中的float和margin-left

在处理绿色的right区域的时候,设置了margin-left:-200px,这时绿色区域浮动到container左侧的padding区域中,而设置margin-left:-220px,绿色区域就一下进入了container本身区域,覆盖在蓝色的middle区域上,为什么没有进入container右侧的padding区域呢?

正在回答

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

2回答

你好,大盒子下面包裹了这三个盒子,padding是大盒子的内边距,正常情况下是没有内容的。而这里的margin-left为负值,那么就会往左移动,而.right这个盒子的左边(因为这里minddle元素宽度的问题显示为上面)为middle元素,所以就会去middle元素上呀。建议:可以先移动右边的区块,查看下效果哟。

祝学习愉快~

  • EricTaku 提问者 #1
    谢谢你的回答,我明白了!
    2017-09-24 12:16:39
小丸子爱吃菜 2017-09-20 10:26:54

左中右都设置了浮动,所以刚开始的时候左右是在中间区域的下面的。

中间区域是100%,.container设置了padding: 0 220px 0 200px;所以中间区域距离外层盒子左边会空出200px,右边空出220px;

left区域通过left和margin-left跑道左上角,right区域通过margin-left和right跑到右上角。

右侧的布局是依托于左侧,可以将属性去掉一个个加上去看看效果,这是圣杯布局的一个技巧,这些技巧了解记住就可以。

祝学习愉快!


  • 提问者 EricTaku #1
    谢谢你的回复,不过很遗憾,你的回复简单重述了圣杯布局的实现,但是并没有回答我的问题。我的问题是为什么将右边绿色区域的margin-left设置为-220px后,绿色区域就一下进入了container本身区域,覆盖在蓝色的middle区域上,而没有进入container右侧的padding区域呢?
    2017-09-21 01:45:09
  • 卡布琦诺 回复 提问者 EricTaku #2
    建议你将代码贴过来,祝学习愉快!
    2017-09-21 13:47:01
  • 提问者 EricTaku 回复 卡布琦诺 #3
    我问的问题不是关于我的代码,而是课程本身的代码。“在处理绿色的right区域的时候,设置了margin-left:-200px,这时绿色区域浮动到container左侧的padding区域中,而设置margin-left:-220px,绿色区域就一下进入了container本身区域”在课程中就是这样演示的。我的问题是“为什么将右边绿色区域的margin-left设置为-220px后,绿色区域就一下进入了container本身区域,覆盖在蓝色的middle区域上,而没有进入container右侧的padding区域呢?”
    2017-09-21 18:15:23
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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