css 圣杯布局浮动元素设置负边距等于自身宽度,为什么会上移

css 圣杯布局浮动元素设置负边距等于自身宽度,为什么会上移

css 圣杯布局浮动元素设置负边距等于自身宽度,为什么会上移

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

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

2回答
好帮手慕星星 2020-06-14 14:01:47

同学你好,元素自身是一个整体,不会分开,一部分在上边,一部分在下边,所以当等于自身宽度的时候会全部上移的,大于自身宽度的时候(正值),继续向左移动

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

原理不需要深入研究,知道怎么设置就好。当前课程的定位也是了解即可

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

在实际工作中这种局部不太常用,但是需要知道。

祝学习愉快!

好帮手慕星星 2020-06-14 12:08:20

同学你好,可以这样理解:

浮动的元素会在一行显示,当一行位置不够的时候会进行换行。中间元素设置宽度为100%,导致left和right换行显示了。left设置margin-left:-100%;移动到最左边,right在最右边(挨着middle,中间有padding的位置)

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

所以为了覆盖在padding位置,设置负边距等于自身宽度,也就是向左移动,效果上看是向上移动了。

自己再测试理解下,祝学习愉快!

  • 提问者 Serenity_nanian #1
    我主要无法理解为什么必须要将margin-left设置>=自己的width,才会上移;如果小于自身的width,就不会上移????
    2020-06-14 12:19:30
  • 提问者 Serenity_nanian #2
    老师能讲下背后的原理吗,从网上也没有搜到相关的解释
    2020-06-14 12:21:33
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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