2012-08-27 31 views
4

当我重叠(触摸)div时,有没有办法使1px边框不成为2像素。而且我知道我可以在边的两边放一个边框,但是div的一边不会有边框。顺便说一下,我正在使用jQuery Masonry。重叠1 px使边框更粗的边框

+0

如果您正在使用砌体......您可能正在进行响应式设计/所以请务必查看:第n类型---请查看这些http://css-tricks.com/how-nth-child -works/http://css-tricks.com/the-difference-between-nth-child-and-nth-of-type/ – sheriffderek

+0

你的代码在哪里?我们在哪里可以看到您尝试过的?重叠或接触?什么是“1px边框”? – Systembolaget

回答

6

是右边的格会是这个样子

 border: 1px solid #fff; 
    border-left: none; 

第二左边框将覆盖刚穿上有

编辑左边界:

OK,因为你使用jQuery masonary - 像这样做

  .container { 
       width:50px; 
       height:80px; 
       border:1px solid black; 
       margin-right: -1px; 
       margin-bottom: -1px; 
       } 

overlapp我提到的方法将工作

+0

这可以工作,但左边框说一个没有旁边的div是不存在的。 [链接](https://www.dropbox.com/s/mnk27pth7fi4cwj/Screen%20Shot%202012-08-26%20at%208.26.06%20PM.png) –

+0

他们将需要不同的类,如“盒子“(没有右边框),那么另一个类叫做”last“,所以当它到了最后,并且你需要一个正确的边框,那么class =”box last“ –

+0

如果你听说过jQuery Masonry t之前),它使用divs,而不是li's,所以这也不起作用。并且它以半随机的方式放置div,所以它需要JS,我相信。 –

2

结合边界和边距(即使有边框)是棘手的,因为你的布局取决于容器的宽度。这是更好的孩子加入到位于由砖石和风格的元素...

.container .post { 
    float: left; 
    width: 240px; 
} 

.container .text { 
    outline: 1px solid #999; 
    padding: 10px; 
    margin: 0 1px 1px 0; 
} 

outline允许边境出现了“外”,这使得它们更容易重叠DIV

http://jsfiddle.net/4xmUY/

(如果你碰巧使用这个答案,请接受斯科特的答案,因为这应该是对他的答案的评论,但解释不适合那里)。

+0

这几乎是完美的。不过,这个布局只有3列,而不是4。 –

+0

您可以将容器宽度提升至〜964像素或使用我更新的答案(添加一个子元素)。更强大的解决方案是我更新的答案。 – Duopixel