为什么我的圣杯会塌

为什么我的圣杯会塌

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
padding:0;
margin:0;
}
.container{
padding:0 220px 0 200px;
height:200px;
}
.middle{
height:200px;
background-color: #f00;
float:left;

width:100%;
}
.left{
height:200px;
background:#0f0;
width:200px;
float:left;
margin-left:-100%;
position: relative;
left:-200px;
}
.right{
height:200px;
background-color: #00f;
width:220px;
float:left;
margin-left:-220px;
position: relative;
right:-220px;
}
</style>
</head>
<body>
<div class="container">
<div class="middle"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>

在页面分辨率缩减到620px的时候,圣杯布局会塌,而双飞翼布局不会塌,这是什么原因?有哪里写错了?

http://img1.sycdn.imooc.com/climg//59ac13bc00014baf06180670.jpg

正在回答

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

3回答

你好,这里并没有明确的规定,而是测试得到的结果,这种情况一般是要设置最小宽的,而且,缩小的也有些小了。建议:使用圣杯布局是可设置最小宽度。

祝学习愉快~

好帮手慕糖 2017-09-04 18:16:21

你好,这里middle元素还占有一定的宽度,你可以测试下,当整体为620px的时候,middle会占200px(这个值可能跟设置的最小的padding值是有关的,你可以改变下值来测试下,若左内边距为100px的时候,middle小于100时就会挤下去);小于这个值时就会挤下去,双飞翼布局不会出现这种情况,是因为二者的原理不同,圣杯布局,中间部分的是百分百,且圣杯布局左右的宽度是固定的。

祝学习愉快~

  • 提问者 学东西要快 #1
    试了一下 的确如老师所说,可为什么middle占有的宽度值会等于左内边距值呢?
    2017-09-04 20:30:07
怎么都被占用了呢 2017-09-04 13:11:59

left和right元素的宽度固定、页面宽度缩小时,会向下挤压元素,你可以给body设一个最小宽度http://img1.sycdn.imooc.com/climg//59ace09b00016d6802560080.jpg

  • 提问者 学东西要快 #1
    页面宽度缩小时,向下挤压元素不是很懂。 我给container元素设置是padding:0 220px 0 200px,逻辑上来看不应该是在宽度420px时才不够用的吗? 还有,为什么双飞翼布局不会出现这种情况呀?
    2017-09-04 13:47:34
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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