嘿,我对这个结构有点不确定。 基本上我想拥有4个div。
<div class="container">
<div class="top-border"></div>
<div class="box"></div>
<div class="bottom-border"></div>
</div>
容器装有三个较小的div。我的目标是让盒子div保持内容,并且边框divs在盒子周围创建一个括号。边框顶部将浮动到左侧,边框底部将浮动到右侧。唯一的问题是容器与底部支架重叠,但不与顶部重叠。我也不希望它重叠......有没有办法解决这个问题?
这是一个JsFiddle:http://jsfiddle.net/6ghzN/
答案 0 :(得分:5)
在底部边框div上,更改
margin-top: -40px;
到
margin-bottom: -8px;
答案 1 :(得分:2)
我会采用不同的方式,
只需添加.box:before
和.box:after
这样,你没有标记所有额外的div!
.container{
background:#dedede;
width:80%;
height:auto;
float:left;
}
.box{
height:800px;
width:100%;
color:#cecece;
float:left;
position:relative;
}
.box:before{
content: "";
width: 40px;
height: 40px;
border-left: 8px solid gray;
border-top: 8px solid gray;
position: absolute;
left: -8px;
top: -8px;
}
.box:after{
content: "";
width: 40px;
height: 40px;
border-right: 8px solid gray;
border-bottom: 8px solid gray;
position: absolute;
right: -8px;
bottom: -8px;
}
答案 2 :(得分:1)
我使用这种方法取得了成功:
1)从.container
中删除背景颜色并将其添加到.box
。
.box{
...
background:#dedede;
}
2)在.top-border
的右侧添加一个负边距,以便.box
正确浮动:
.top-border{
...
margin-right:-40px;
}
答案 3 :(得分:0)
将margin-bottom: -10px;
添加到底部边框类。