当我缩小下面代码的窗口时,div不会相应缩小,而是会被切断。有人可以解释原因吗?请随意在div的“左,中,右”的HTML部分添加更多虚拟文本,以便为它们增加更多高度。
像往常一样,我更关注原因而不是任何解决方案/替代方案。因为我觉得找出原因(在我的代码中)将有助于我更深入地学习和理解。
代码:
CSS:
<style>
html, body {
width: 100%;
left: 0px;
top: 0px;
margin: 0px;
height: 100%;
}
.container {
width: 960px;
position: relative;
right: auto;
background-color: rgba(216,86,112,0.5);
height: 100%;
margin-top: auto;
margin-right: auto;
margin-left: auto;
}
.top {
width: 100%;
left: 0px;
top: 0px;
background-color: rgba(204,51,0,1);
height: 10%;
position: relative;
margin: 0px;
text-align: center;
}
.left {
float: left;
height: auto;
width: 310px;
background-color: rgba(255,0,0,1);
margin-left: 5px;
margin-right: 5px;
position: relative;
}
.center {
float: left;
height: auto;
width: 310px;
background-color: rgba(0,255,0,1);
margin-left: 5px;
margin-right: 5px;
}
.right {
float: left;
height: auto;
width: 310px;
background-color: rgba(0,0,255,1);
margin-left: 5px;
margin-right: 5px;
}
</style>
HTML:
</head>
<body>
<div class="container">
<div class="top">
</div>
<div class="left">Lorem ipsum dolor sit amet, consectetur adipiscing elit
</div>
<div class="center">Lorem ipsum dolor sit amet, consectetur adipiscing elit
</div>
<div class="right">Lorem ipsum dolor sit amet, consectetur adipiscing elit
</div>
</div>
</body>
</html>
答案 0 :(得分:0)
如果您需要将容器置于中间位置并使其最大宽度为960像素,则应使用此css:
.container {
display:block;
float:none;
width:100%;
max-width: 960px;
position: relative;
background-color: rgba(216,86,112,0.5);
height: 100%;
margin-top: auto;
margin-right: auto;
margin-left: auto;
}
基本上浮动的组合:无,边距:自动,宽度:100%,最大宽度:1000px或任何您需要的位置相对位置将使您的容器居中。如果你的内部有内联块元素,你可以添加clearfix。
答案 1 :(得分:0)
<div>
未缩小的原因是因为您将每个div的宽度硬编码为像素值。
我在我的小提琴中所做的是,我将所有硬编码像素值替换为%
中的等效值。
我使用31%
作为宽度的原因是因为你总共有100%的宽度并且在其中包含3个div,每个div必须是33.33%
宽度。但是,左右边距为1%
,因此余下的31.33%
用作宽度。
希望它对你有用..
更新了CSS
html,
body {
width: 100%;
left: 0px;
top: 0px;
margin: 0px;
height: 100%;
}
.container {
width: 100%;
/* [disabled]left: 0px; */
/* [disabled]top: 0px; */
position: relative;
right: auto;
/* [disabled]bottom: auto; */
background-color: rgba(216, 86, 112, 0.5);
height: 100%;
margin-top: auto;
margin-right: auto;
/* [disabled]margin-bottom: auto; */
margin-left: auto;
}
.top {
width: 100%;
left: 0px;
top: 0px;
background-color: rgba(204, 51, 0, 1);
height: 10%;
position: relative;
margin: 0px;
text-align: center;
}
.left {
float: left;
height: auto;
width: 31.33%;
background-color: rgba(255, 0, 0, 1);
margin-left: 1%;
margin-right: 1%;
position: relative;
}
.center {
float: left;
height: auto;
width: 31.33%;
background-color: rgba(0, 255, 0, 1);
margin-left: 1%;
margin-right: 1%;
}
.right {
float: left;
height: auto;
width: 31.33%;
background-color: rgba(0, 0, 255, 1);
margin-left: 1%;
margin-right: 1%;
}