2

我在这个网站上找到了一个解决方案,将 div 置于两个 float 之间。该解决方案工作正常,只是我现在有一个双边框。

CSS

.trilink_container {
margin:5px;
overflow: hidden; /* contain floated elements */
}

.trilink_all {
border: 1px solid #CCCCCC;
color: #444444;
text-shadow: 0 1px 1px #F6F6F6;
background: #fdfdfd;
background: -o-linear-gradient(top,  #fdfdfd,  #eee);
background: -ms-linear-gradient(top,  #fdfdfd,  #eee);
background: -moz-linear-gradient(top,  #fdfdfd,  #eee);
background: -webkit-gradient(linear,  left top,  left bottom,  color-stop(0,  #fdfdfd),  color-stop(1,  #eee));
background: -webkit-linear-gradient(#fdfdfd,  #eee);
background: linear-gradient(top,  #fdfdfd,  #eee);
text-align:center;
 }

.trilink_item {
float: left; 
width: 32%;
margin-left:5px;
}

.trilink_right {
float: right; 
width: 32%;
margin-right:5px;
}

.trilink_center {
margin-left: auto;
margin-right: auto;
}

HTML

<div class="trilink_container">

<div class="trilink_item trilink_all">Left Test</div>
<div class="trilink_right trilink_all">Right Text</div>
<div class="trilink_center trilink_all">Centre Text</div>

</div>

我还将代码添加到jfiddle

顺便说一句,我意识到我的编码有点乱,一旦我有解决方案就打算整理一下:)

有任何想法吗?

4

4 回答 4

4

添加overflow: hidden(或auto;除visible)之外的任何东西.trilink_center,你会得到你想要的我相信的(见这个小提琴)。

这建立了一个新的块格式化上下文,它改变了流程的工作方式。请参阅这篇文章进行一些讨论。

于 2013-04-11T19:47:46.453 回答
1

如果要删除双边框,则只需从margindiv中删除leftright

.trilink_item {
    float: left; 
    width: 32%;
    //margin-left:5px; remove it
    }

.trilink_right {
    float: right; 
    width: 32%;
    //margin-right:5px; remove it
    }

JS 小提琴示例

于 2013-04-11T19:48:58.363 回答
0

如果你想消除边缘附近的双边框,试试这个小提琴。它分别删除border-left左右border-rightdiv

于 2013-04-11T19:52:12.443 回答
0

`.trilink_center {

 margin-left: auto;
 margin-right: auto;
 /* float left or right
 float: left;

}`

就这样

于 2013-04-11T19:54:14.127 回答