2010-10-25 73 views
10

我有一个div包含链接(一个href)。所有其他利润率都与href一起工作,但是上边距并没有使用href。我想在中间放置链接,但由于不能使用上边缘,所以不可能。我通过设置位置或显示它可以工作。请为它提供一个交叉浏览器解决方案。div内的上边距不起作用?

div.MainContainer div.Links 
{ 
    height: 57px; 
    width: 100%; 
    border-top: solid 0px #404040; 
    border-left: solid 2px #404040; 
    border-right: solid 2px #404040; 
    border-bottom: solid 2px #404040; 
    background-image: url("../Images/links_background.png"); 
} 
div.MainContainer div.Links a 
{ 
    font:12px verdana; 
    color:White; 
    margin:10px; 
    border:dashed 1px white; 
    margin:15px 20px 20px 20px ; 
    width:100px; 
} 
+1

使用float如果你想移动的链接下来专区内,你有没有尝试过的填充? – Orbit 2010-10-25 13:36:33

回答

16

您需要浮动元素以使边距工作或使用填充代替。

div.MainContainer div.Links a 
{ 
    float: left; 
    font:12px verdana; 
    color:White; 
    margin:10px; 
    border:dashed 1px white; 
    margin:15px 20px 20px 20px ; 
    width:100px; 
} 
+0

这很奇怪,但它正在工作。它通常在IE 7中运行。 – Tarik 2010-10-27 02:33:24

+5

为什么我们需要浮动元素,如果我们希望'margin-top'工作。 – shashwat 2013-04-07 05:51:08

+0

@shashwat因为是CSS,所以不要去寻找原因。 – 2015-11-17 16:58:26

2

尝试在div.Links apadding-topdiv.Links,而不是margin-top

4

内联元素的高度无法更改,只需在链接上使用display:inline-block;即可。

+0

** + 1 **但是,边距不会影响元素的高度,并且内联元素的高度可以更改。然而'display:inline-block'是要走的路。 – iConnor 2013-11-27 05:13:28

3

请尝试以下。我将overflow: hidden添加到顶部定义中,将display: blockfloat: left添加到底部定义中。第一个添加清除了正在添加的浮动,最后两个允许链接上的边距正常工作。

div.MainContainer div.Links 
{ 
    height: 57px; 
    width: 100%; 
    border-top: solid 0px #404040; 
    border-left: solid 2px #404040; 
    border-right: solid 2px #404040; 
    border-bottom: solid 2px #404040; 
    background-image: url("../Images/links_background.png"); 
    overflow: hidden; 
} 
div.MainContainer div.Links a 
{ 
    font:12px verdana; 
    color:White; 
    margin:10px; 
    border:dashed 1px white; 
    margin:15px 20px 20px 20px ; 
    width:100px; 
    display: block; 
    float: left; 
} 
0

使用padding-top: 1px(至少)为div.Links,你不需要在div.Links a