2011-04-07 50 views
0

有人可以解釋我這一小段HTML的情況怎麼樣?錨(<a>)尺寸只有內嵌塊跨度

http://jsbin.com/akome5

在最新的瀏覽器(FF4,Chrome10,IE9,IE8,歌劇11),元件的佈局是這樣的:

enter image description here

咩?我不明白爲什麼?! 爲什麼高度和寬度不像可見框(橙色+紅色空格)那麼大?

添加「display:inline-block;」到元素似乎並沒有真正解決它。 我該如何解決它?

Thx !!

+0

「爲什麼高度和寬度不像可見框那麼大?高度和寬度是什麼? – 2011-04-07 16:31:25

+0

藍色框突出顯示元素,而OP則詢問爲什麼藍色框不會覆蓋紅色和橙色框的*整個*高度。 – Blender 2011-04-07 16:37:00

+0

準確:)寬度和高度和藍色框(螢火蟲懸停)的位置不是那些預期的。 – TiTi 2011-04-08 07:34:47

回答

1

嘗試添加以下樣式。

a.button { 
    display: block; 
    float: left; 
    overflow: auto; 
} 
a.button span { 
    display: block; 
    float: left; 
} 
+0

這似乎工作。但是溢出:auto;真的有必要? 此外,我需要在按鈕之後添加一個元素來停止浮動(類似
),這可能會變得有點複雜,無法管理。 – TiTi 2011-04-08 07:55:18

+0

{overflow:auto}只是讓容器(a.button)包裹其浮動內容(跨度)。否則,它不會尊重跨度的高度。您可以在下一個元素上使用{clear:left}來結束浮動。但我只是試圖以簡單的方式提出你的問題,並沒有預見到在使用此代碼的頁面中可能出現的其他問題。祝你好運:第 – 2011-04-08 13:29:33

0

我建議不涉及跨

HTML不同的方法:

<a class="button2" href="#">Text Text Text</a> 

CSS:

/* Button 2 */ 
.button2 { 
    background-color:red; 
    border:solid 10px orange; 
    border-top:0; 
    border-bottom:0; 
    display:inline-block; 
    color:#fff; 
    font-family: Arial,Helvetica,sans-serif; 
    font-size:11px; 
    font-weight:bold; 
    line-height:30px; 
    text-decoration:none; 
    padding:0 3px; 
} 

old (top) new (bottom)

老(上)新(底部)

http://jsfiddle.net/pxfunc/vr7gJ/

+0

Thx,但這不是我首先要求的!我試圖理解爲什麼維度不是那些預期的。 此外,我需要3個元素,因爲在真正的按鈕我使用背景圖像和更多的風格。 – TiTi 2011-04-08 07:33:09

0

的信息我設法做沒有浮動:左,這裏是整個CSS:

a.button{ 
    display: inline-block; /* <- added */ 
    text-decoration: none; 
} 

a.button span{ 
    display: inline-block; 
    font-family: Arial,Helvetica,sans-serif; 
    font-size: 11px; 
    font-weight: bold; 
    height: 30px; 
    line-height: 30px; /* <- added */ 
    text-decoration: none; 
} 

a.button .left, a.button .right{ 
    background-color: orange; 
    width: 10px; 
} 

a.button .text{ 
    background-color: red; 
    color: white; 
} 

line-height指令是關鍵。

+0

很好地完成。我不想在你的篝火上撒尿,但請記住,IE 6&7和Firefox 2不支持{display:inline-block}。在Firefox 2上,您可以使用-moz-inline-block,並且IE 6和7在網絡上有各種各樣的黑客攻擊。我懷疑您支持FF2,而IE 6和7很快就會死掉,如果我們幸運的話。做得好。 – 2011-04-08 13:34:30