没有理解.right为什么设置margin-left:-220px

没有理解.right为什么设置margin-left:-220px

左边是 margin-left:-100%,这个好理解

但是右边margin-left:-220px什么意思,为什么单位变了

正在回答

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

1回答

你好同学,可以跟着老师的分析去理解:

.margin-left为负值是往左移动。 三个盒子本来浮动后要在一行显示 ,并且小盒子应该在middle后面,也就是右边显示 。但是由于middle设置宽度100%把它们挤下去了 。此时如果强制性让小盒子往左移动 ,那么它会回到第一行 ,挤在middle上面 。

http://img1.sycdn.imooc.com//climg/5cc90b8a0001b49d09150547.jpg

右边的盒子因为要在右边显示,所以不需要往左移动太大。只需要移动它自身的宽度,让它整个区域叠在中间盒子上面,所以设置margin-left:-220px。(此时距离右边还剩父元素padding的距离,结合定位移动)

http://img1.sycdn.imooc.com//climg/5cc90bda000170ca15900643.jpg

而左边的盒子要在左边显示,所以要往左移动margin-left:-100%就是父元素宽度的100% ,这里不设置px为固定的是因为浏览器宽度不同,那么盒子的宽度也会随着变化的。所以设置100%就是不管父元素宽度多大,都是移动父元素的100%的宽度哦(不包括padding , 所以会贴在middle左侧 ,此时它距离左侧也有父元素padding的距离 ,也结合定位 ,让它移动哦)

http://img1.sycdn.imooc.com//climg/5cc90c560001e5c815330572.jpg

祝学习愉快 ,望采纳。

  • StickMind 提问者 #1
    margin-right -100%也对啊,是不是一样的
    2019-05-01 11:13:19
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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