不太理解怎么实现的,麻烦讲解一下

正在回答

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

4回答

你好同学,解答如下:

1.可以这样理解,假如说middle盒子宽度比较小,那么其他盒子正常在第一行。那right举例子,如果你给它设置margin往左移动,它会重叠在middle上面。

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

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

所以两个小盒子本身就不是第二行的内容,你给它设置margin往左移动,它自然与上面的效果一样,叠在middle上面。所以就回到了第一行上面。

2.左侧的盒子margin如果设置固定值,例如你设置-1200px,但是电脑分辨率比较大的话,比如1900px,那也无法移动到最左侧哦。所以需要设置百分比,无论在任何分辨率下,都是移动父元素宽度的100%(注意不包含父元素padding)

右侧盒子不需要移动到最左侧,它本身如果不被挤下去,就是在middle右侧的,所以我们只需要移动它自身宽度(固定值),让它完全叠在middle上 ,即回到了第一行即可。

3.这两个布局类似,如果同学对两个布局不熟练。不建议对比两个布局,因为你这样会更混乱。建议你先去练习圣杯布局,等你熟悉了圣杯布局,再去看双飞翼,会比老师讲还要清晰。

另外,本课程的内容属于课外了解,实际开发中用不到。如果实在不理解这一块,合理安排学习时间,建议往下学习其他内容哦。

祝学习愉快,望采纳。

  • 迷失的小麦 提问者 #1
    是不是只能强记,当固定用法用,还是不懂为什么左边100%,右边自身宽度,还是不懂为什么被挤下来可以用margin上去。。。
    2019-11-06 20:58:40
  • 迷失的小麦 提问者 #2
    是不是双飞翼布局仅仅排版不一样,效果是一样的
    2019-11-06 21:03:37
好帮手慕夭夭 2019-11-07 09:33:31

你好同学,本课程中的案例确实不好理解,不会没有关系。同学不需要强记,这个课程不是重点,实际工作中也不会用到,作为了解即可。建议同学继续往下学习其他的课程, 等你以后工作了,经验丰富了,再来回顾一下就好理解了哦。

另外,双飞翼布局效果与圣杯布局一样,就是布局不一样。这个也不重要,作为了解即可。

祝学习愉快,望采纳。

好帮手慕夭夭 2019-11-04 17:19:33

你好同学,给你讲解一下圣杯布局的原理:

圣杯布局的实现的效果是中间盒子自适应 ,两边盒子固定 。所以中间的盒子设置宽度100% , 这样就占据了父元素的内容宽度,不包括父元素padding ,给父元素设置左右填充是为了给左右的盒子留位置 。

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

本来三个盒子设置浮动 ,是要在一行显示的。

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

但是由于中间盒子宽度太大 , 把它们挤到下边了 .两个小盒子是被迫挤下来的 , 所以这里时候就要配合设置margin或者定位 ,让两边的小盒子到达左右两边的位置 。

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

例如拿右边的盒子举例子 :

 它本身应该和中间盒子在一行显示 ,第一行没有它的位置了 , 被挤下去了。所以先设置margin-left:-220px ,让它往左移动 , 叠在中间盒子的右侧 。

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

叠在middle上后 , 它距离浏览器右侧还有一个父元素右填充的距离 ,也是220px  . 所以最后要结合定位 , 通过 设置right: -220px;让它往右移动到右侧了 。

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

左侧也是这个原理,因为它要显示在最左侧,所以先设置margin-left: -100%; ,让往左移动。100%是移动父元素宽度的100%,但是不包含padding部分。还需要结合定位,设置left: -200px;往左移动200px显示在最左侧哦。

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

另外,这个布局确实不好理解,可能你听几遍还是听不懂。建议同学跟着视频多练习几遍,在练习的过程中,可以一步步观察,每做到一个步骤,效果发生了什么变化,自己多思考,会容易理解一些哦。

祝学习愉快,望采纳。

  • 提问者 迷失的小麦 #1
    为什么被挤下来可以用margin上去?为什么左边100%,右边是固定数值?双飞翼布局又是什么,和圣杯布局啥区别?
    2019-11-05 11:35:57
好帮手慕夭夭 2019-11-04 14:01:04

你好同学,如果是课程中的代码,请描述一下哪一个课程?如果是同学做的本练习题中的,请把全部的代码粘贴上来,以便老师针对代码准确的为你分析。

祝学习愉快!

  • 提问者 迷失的小麦 #1
    第三章3-2圣杯布局案例老师课堂上敲的代码
    2019-11-04 14:40:08
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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