2011-12-02 4 views
2

スパンの1つにインラインブロック属性を設定して、その幅を設定する必要があります。しかしその後、私はそれがFirefoxの他の「インライン」スパンと一致しないことを発見します。しかし、IE上でうまく動作します。次のHTMLスナップを参照してくださいインラインブロック属性とスパンを他のスパンとどのように揃えるには?

<span class="" style="font-family: Times New Roman; font-size: 22pt; background-color: rgb(229, 102, 0);">123123</span><span class="qqeditor-display-tab" style="display:inline-block;font-family: Times New Roman; font-size: 22pt; width: 22px; background-color: rgb(229, 102, 0); height: 33px;">aaa</span><span style="font-family: Times New Roman; font-size: 22pt; background-color: rgb(229, 102, 0);">123</span> 

私はこの3つのスパンをFirefox上で整列させる方法はありますか?ありがとう!

+0

インラインブロックをSPANに設定された高さは意図的ですか?私がそれを取り除いて(そして、 'font-size'をhttp://jsfiddle.net/frozenkoi/kN3sB/のようなDIVを含むものに)動かすと、すべてのSPANは同じ高さになります(FirefoxとRockmeltはほぼ同じですピクセルが大きい。) – frozenkoi

+0

ご意見ありがとうございます。 SPANの高さは、他の2つと同じ高さの値にすることです。ご覧のように、私がそれを取り除くと、他のスパンよりも背が高くなります。 (異なるフォントファミリは別の結果を引き起こします。他のスパンと同じ高さと同じ高さにする方法を見つけることができれば、高さはあまり気にしません) – ryan

+1

'line-height'コンテナ要素の場合?今自分で試しても飽き飽きしていますが、インラインブロックのないSPANの高さに役立つと思います。 – frozenkoi

答えて

0

inline-block;の設定は、特に動作します。cross-browserは受け入れられません。

Demo

+0

書棚、あなたの答えに感謝します。はい、私はすべてのスパンをインラインブロックに設定することを考えています。しかし、実際にはJSコードの大きな変更だと私はそれが他の問題を引き起こすかどうかわからない。私はther簡単な方法を修正することを望む。 – ryan

2

これは実際にline-height問題のように聞こえます。それらの要素のline-heightnormalに設定することは、このトリックを行うべきです。

line-heightinline-block要素line-heightを行いながらinline要素のline-heightは、(あなたがする背景を適用しているものである)テキストの高さに影響を与えていないため、バックグラウンドがある影響を与える理由要素の高さに影響します。これがどのように機能するかについて詳しく説明することができますが、その例がいくつあるか分かりますので、代わりに例を示します。

Example of how line-height affects background and border/outline

ソース、ケースにjsFiddleはHTML

消え

<p class="a">normal <span class="inline">A</span><span class="inline-block">B</span></p> 
<p class="b">2em <span class="inline">A</span><span class="inline-block">B</span></p> 
<p class="c">.5em <span class="inline">A</span><span class="inline-block">B</span></p> 

CSS

.a span { 
    line-height:normal; 
} 
.b span { 
    line-height:2em; 
} 
.c span { 
    line-height:10px; 
} 
.inline-block { 
    display:inline-block; 
} 

span { 
    font-size:2em; 
    outline:1px solid red; 
    background:lime; 
} 
p { 
    margin:2em; 
    outline:1px solid green; 
} 
+0

'inline-block'の高さを調整する' line-height'の振る舞いを定義するW3C仕様への参照がありますか?私が知っている最も近いものはhttp://www.w3.org/TR/CSS2/visudet.html#inline-box-heightですが、実際のユーザエージェントで見られる動作を指定していないようです。 –

+0

@MikkoRantalainen、これについて詳しく説明しています:http://www.w3.org/TR/2003/WD-CSS21-20030915/visudet.html#line-height – 0b10011

関連する問題