圣杯布局对left和right的margin-left :-100%和-220px不太理解
来源:3-2 圣杯布局案例(了解即可)
Leonard_
2019-05-31 11:49:45
为啥设置左移会上移跑到第一行上面去盖住?同样都设置了relative为什么会被覆盖?设置margin-top:负值 不能移动到上面去吗?
2回答
同学你好, 抱歉老师这里描述的不严谨, 是可以使用margin-top设置, 只是不推荐使用而已。
因为使用margin-top需要知道中间内容的高度,当中间内容发生改变的时候, 需要修改margin-top的值, 这样的布局不灵活,
使用负的margin-left设置100%就是不用计较中间内容的高度,都是移动父元素的100%的宽度哦。 这样就中间内容的高度发生, 并不会影响布局
如果帮助到了你, 欢迎采纳!
祝学习愉快~~~
好帮手慕慕子
2019-05-31
同学你好, 这里可以这样理解
1、 因为在HTM结构中, left和right在middle的后面, 所以浏览器在渲染的时候,从上到下解析HTML结构,后面元素默认的层级会比前面的高, 所以虽然都设置了relative, 但是后面的元素层级高,会覆盖了中间的
2、本来三个小盒子都设置了浮动 ,它们应该在一行显示 ,也就是左右两个小盒子要在middle后面浮动 .但是middle设置宽度100%没有它们的位置 , 把它们两个挤下去了 .
如果这个时候我强制性的让小盒子往左移动 ,那么它就会回到第一行 , 与middle重叠 . 所以这里虽然看起来盒子是往上移动了 ,实际上是设置它往左移动哦,所以不可以使用margin-top哦
3、left的margin-left:-100%; 可以参考教辅资料中的解释理解哦
4、right设置 -220px, 也是为了让右侧在最右边显示
这一块确实比较抽象, 不好理解, 同学可以结合教辅资料学习,回顾一下视频, 加深理解哦
如果帮助到了你,欢迎采纳!
祝学习愉快~~~
相似问题