2012-07-18 103 views
0

我試圖在行內塊元素(特別是在webkit瀏覽器中)垂直居中文本。幾乎完全符合< button>元素。使用內嵌塊元素上的框對齊垂直居中文本

我試過使用盒子對齊方式,因爲在這個問題Vertical align text in block element但我不想在元素上設置一個明確的寬度:我希望它適合其內容,即我想顯示:inline-block類型的行爲。

在Firefox中,-moz-box看起來像我想要的那樣,但在Safari和Chrome中,-webkit-box使div想要水平地填充它的容器。

[哎呀,因爲我是一個小白不能發佈圖片]

小提琴here用的各種設置的例子。

查看webkit的檢查器上的實際< button>元素,它默認顯示:inline-block,但它服從-webkit-box-align,就好像它被設置爲顯示:-webkit-box一樣。請參閱fiddle,其中我明確地設置了顯示:inline-block和-webkit-box-align:end在<按鈕>上進行演示。

看來,通過增加一個額外的< div>,我可以得到我想要的行爲,但我真的寧願不這樣做。我也知道顯示器:用於垂直居中的表格單元技術;這在這裏不合適,因爲它有其他副作用。

那麼webkit的行爲是否正確? < button>元素如何做< div>不能做的事情?有沒有發現可以使< div>表現像<按鈕>的一些內置的webkit CSS屬性?甚至更好,任何跨瀏覽器的方式呢?

回答