1
我已經完成了一些搜索,但找不到我正在尋找的答案。如果它是重複的,請讓我在我應該前往的地方。當跨度被封鎖+絕對定位時,文本對齊的行爲不同
不管怎樣,我一直無法找出跨度的繼承(如果有的話)行爲,而且一旦我開始在跨度中進行不同風格的組合,Firefox和Chrome似乎有所不同。我有一個常規的內聯,絕對定位,以文本爲中心的跨度容器,其中包含兩個跨度,一個內嵌式,絕對定位(class =「arrow」)和一個阻塞的跨度(class =「text」)。在Chrome中,箭頭類跨度在容器內左對齊。但是,在FF11中,箭頭類跨度在容器內居中對齊。
所以,我的問題是:
- 爲什麼箭頭級跨度行爲不同瀏覽器和FF11(FF7有出於某種原因,Chrome的行爲)?
- 哪個瀏覽器顯示「正確」跨度繼承屬性?
- 我可以讓兩個瀏覽器的行爲以相同的方式使文本類跨度成爲內聯塊,但我不明白爲什麼這將有助於...
- 由於文本級跨度是阻塞跨度,它不應該導致容器類跨度(及其邊界)爲100%寬度嗎?目前,容器類圍繞文本類跨度進行摺疊。 (這可能會在一個單獨的線程中,但如果我可以快速回答這個問題,那將會很好)。
DisplayProps.html:
<html>
<head>
<link type="text/css" rel="stylesheet" href="displayProps.css">
</head>
<span class="container">
<span class="arrow"></span>
<span class="text">Why is the arrow different?</span>
</span>
</html>
displayProps.css:
span.container {
display: inline;
position: absolute;
border: 2px solid;
text-align:center;
}
span.container span.arrow {
border-color: transparent black transparent transparent;
border-style: solid;
border-width: 10px 10px 10px 0;
display: inline-block;
position: absolute;
}
span.container span.text {
display: block;
}
幫助感激,謝謝!
啊我明白了!那麼,瀏覽器的這些默認值是否依賴於容器跨度中的「text-align:center」?看起來如果我從容器跨度中移除「text-align:center」,箭頭又會回落到左側。 – DKT 2012-03-21 07:24:45
是的,他們可以。只使用位置絕對距離(這就是使用絕對的原因,否則使用相對)。 – scessor 2012-03-21 07:31:45
另請參閱我更新的答案。 – scessor 2012-03-21 07:33:10