2011-04-28 42 views
22

我試圖將display: inline;應用於我的<fieldset>元素中的<legend>元素,以便下面的<span>將在同一行後面,但是我的CSS沒有任何效果。爲什麼我的<legend>元素不會內聯顯示?

legend{ 
 
    display: inline; 
 
} 
 
span { 
 
    display: inline; 
 
}
<fieldset> 
 
    <legend>Legend</legend> 
 
    <span>Follower</span> 
 
</fieldset>

JSFiddle

編輯

我有過HTML無法控制;我只能編輯CSS

+0

''元素是「狡猾的」。你是否考慮過簡單地將''移到''內? – thirtydot 2011-04-28 12:59:25

+0

你能不能在'legend'裏面做兩個跨度來做你想做的事? '圖例追隨者' – Bazzz 2011-04-28 13:01:12

+0

編輯問題使問題更清楚。 – 2011-04-28 13:13:04

回答

23

傳說很特別。特別是,它們的默認渲染不能用CSS來描述,所以瀏覽器使用非CSS的方式來渲染它們。這意味着一個靜態定位的圖例將被視爲一個圖例,並與該字段的實際內容分開。

奇怪的並不止於此;如果您顛倒了範圍和圖例的順序,圖例仍然顯示在大多數瀏覽器(但顯然不在Opera中)。

+1

「默認渲染不能用CSS來描述」這是什麼意思,爲什麼會這樣?聽起來像是一種不好的方式來實現HTML元素,對我來說。 – TylerH 2015-04-28 15:58:53

+0

它意味着什麼:傳統的字段集渲染實際上不能用CSS表達。特別是傳說將使字段集根據需要變寬,以及字段邊框在圖例周圍繪製的方式。 – 2015-04-28 20:23:07

5

傳說只是不接受display: inlinedisplay: inline-block,但你可以給它float: left,它會顯示類似於你想要的。

+0

這適用於我,與Firefox 51.0.1和IE 11,但這是可靠的? – 2017-03-06 12:17:56

+1

@ R.Schreurs我已經獲得了很多成功......如果我不支持IE 11/Edge,我還會使用'width:fit-content'作爲圖例 – kzh 2017-03-07 14:19:01

相關問題