为什么div在窗口缩小了?

时间:2016-05-22 16:10:14

标签: html css

当我缩小下面代码的窗口时,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>

2 个答案:

答案 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)

请参阅此fiddle

<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%;
}