您好,麻烦能帮我看下这样实现的圣杯效果对么?
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ padding: 0; margin: 0; } html,body{ width: 100%; height: 100%; } .parent{ width: 80%; height: 60%; top:20%; position: relative; padding-left: 200px; padding-right: 200px; } .middle{ width: 100%; height: 100%; background:beige; } .left{ width: 200px; height:80%; position: absolute; border: 1px red solid; left:0px; top: 0px; } .right{ width: 200px; height:90%; position: absolute; border: 1px green solid; right: 0px; top: 0px; } </style> </head> <body> <div class="parent"> <div class="middle">我是middle</div> <div class="left">我是left</div> <div class="right">我是right</div> </div> </body> </html>
0
收起
正在回答
2回答
负的margin-left会让元素沿文档流向左移动
当设置left部分的margin-left为-100%时,那么他就会向左移动整个父元素的宽度,到父元素的最左边.
覆盖住了main部分.
当left上移过后,right就会处于上一行的开头位置,这时再给它设置一个margin-left为负的偏移量,偏移量恰好是其宽度.right就会左移到上一行的末尾。
这样解释同学可以理解吗?
如果可以帮助到你,一定要记得采纳哦!!
妮可妮可妮_
2018-07-24 14:14:45
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> * { padding: 0; margin: 0; } body { min-width: 600px; } .parent { /* padding-left: 200px; padding-right: 200px;*/ padding: 0 200px; } .middle { width: 100%; background: beige; } .left { width: 200px; background: green; left: -200px; margin-left: -100%; } .right { width: 200px; background: red; right: -200px; margin-left: -200px; } .left, .middle, .right { position: relative; min-height: 130px; float: left; } </style> </head> <body> <div class="parent"> <div class="middle">我是middle</div> <div class="left">我是left</div> <div class="right">我是right</div> </div> </body> </html>
感觉同学对圣杯布局掌握的还不是很好,建议重新在看一遍视频,跟着老师讲解的步骤动手试一试,要多学多练才能更好地掌握知识点哦~
祝学习愉快!
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星