有人能告诉我以下代码存在什么问题。
.middle
的左和上边距无法工作。
我已经尝试了很多,但是无法找到以下代码中的任何问题。
请注意应用了 .middle
的 div
和 .middle
类。
.container {
height: 48px;
width: 80%;
background-color: #999;
margin: 0 auto;
}
.left {
margin-left: 6px;
height: 40px;
background-color: red;
margin-top: 4px;
float: left;
overflow: hidden;
width: 30%;
}
.middle {
margin-left: 6px;
height: 40px;
background-color: green;
margin-top: 4px;
overflow: hidden;
width: auto;
}
.right {
margin-left: 6px;
height: 40px;
background-color: blue;
margin-top: 4px;
margin-right: 6px;
float: right;
overflow: hidden;
width: 40%;
}
.button {
float: right;
margin-right: 6px;
height: 32px;
width: 100px;
border-style: solid;
border-width: 1px;
margin-top: 4px;
border-color: #333;
}
p {
color: blue;
overflow: hidden;
width: 50%;
}
<div class="container">
<div class="right">
<button class="button">Search</button>
</div>
<div class="left"></div>
<div class="middle"></div>
</div>
overflow:hidden
意味着它知道浮动的存在。但是CSS规则在这里说,.middle div的边框框必须不与float的margin box重叠。如果您不想使用calc()来解决水平margin的问题,则可以利用不对称性,在左侧float上放置6px的右margin,而不是在.middle div上放置左margin。 - Alohci