2010-07-15 35 views
1

使用CSS我如何將跨度放在其他跨度之上。 我有幾個跨度在頁面,並在頁面的最後,我有這個從頂部的CSS問題高度

<span id="lastSpan" style=" margin-left:726px; margin-top:30px;"></span> 

問題是,它從來就沒有到從上往下30像素。並卡在相同的高度。

任何幫助將不勝感激 感謝

回答

3

跨度爲inline元素,並且不會在頂部和底部遵守margin。如果您要使用保證金,您需要將其設置爲display: inline-block

+0

請注意,'inline-block'在IE上有接收[點](http://www.quirksmode.org/css/display.html)。 – 2010-07-15 17:13:41

+0

是的,但是作爲您提供的鏈接註釋:「IE 6/7僅在具有自然顯示的元素:inline。」中接受值['inline-block'],這是'span'所做的,所以不應該有在這裏使用它的問題。 – ScottS 2010-07-15 17:46:14

1

跨度內聯元素。你不能將利潤率應用於他們。如果你需要一個具有邊距/高度的通用容器,請使用div。

1

內聯元素的樣式不能與塊元素相同。例如,他們(完全?)對邊緣和高度命令沒有反應。解決方案是將display: block;添加到您的樣式中以強制塊樣式。

+1

在相關說明上,在語義上,'span'是一個catchall內聯容器,'div'是一個catchall塊容器。在這種情況下,我會使用'div',默認情況下會阻止樣式。 *免責聲明:*這是一種不同的編碼器之間的哲學,對於我的哲學的每一個人,你會發現有人說'span'在這種情況下更合適。 – 2010-07-15 17:11:19

0

範圍不會接受保證金屬性,因爲它是內聯元素。您可以通過顯示將其更改爲阻擋元素:塊,浮點數:左/右或位置:絕對

0

這可能是隊長pædantry以解救,但跨度在內聯級別與此無關。大多數(全部)瀏覽器的房子樣式表隱式設置了跨度屬性display:inline,除非作者或用戶明確否定了這一點。據我所知,W3C沒有定義瀏覽器的家庭風格,但它們確實提供了互操作性的一些指示。

當然,這裏可能沒有那麼相關,但實際上有些地方的瀏覽器並沒有選擇完全相同的樣式。值得注意的是,Firefox和IE瀏覽器默認情況下,Safari和Chrome不會在abbr下放置虛線邊框。另外,有些瀏覽器使用margin-top:1em;來分隔段落,而其他使用margin-bttom:1em,在大多數情況下,這並不重要,但有些情況下,爲了保持一致的外觀,您需要在網站中明確指定需要哪兩種。