2010-10-25 102 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