您好,麻烦能帮我看下这样实现的圣杯效果对么?
<!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 星