2013-07-26 1 views

答えて

8

、それはまた、(クロムに少なくとも)display: inline-blockを持つ要素で動作しますしたがって、displayは、inlinelist-itemを含む)以外のものでなければなりません。例えば、

strong { 
    font-weight: bold; 
    color: blue; 
    display: inline-block; 
} 
strong::first-letter { 
    color: red; 
} 

JS Fiddle demo

また、::first-letterは擬似要素なので、セレクタと擬似クラスを区別するために、シンタックスはシングルではなくダブルコロンでなければなりません。ここで

+0

それは動作します!大きなアドバイス。私はIE10でも動作することを確認しました。 – GolezTrol

+1

':: first-letter'は、インライン書式設定コンテキストを含む要素で動作します。ある要素がそれ自身を作成せずにインライン書式設定コンテキストに参加する場合、 ':: first-letter'は決して適用されません。これは 'display:inline'と' display:none'以外のものをあなたに残します。また、古いIEとの互換性が必要な場合は、特定の擬似要素に対して単一のコロンを使用できます。そうでない場合は、ダブルコロンを使用することをお勧めします。 – BoltClock

5

ブロック要素のみでは、インライン要素では機能しません。

+1

です。私はディスプレイを追加する:ブロックそれは動作します。 – simple

2

first-letterはブロック要素でのみ使用できます。

これは動作しますが、質問はブロックレベルstrongがいかに便利である:

http://jsfiddle.net/UZpLG/他の回答にさらに

strong { 
    font-weight: bold; 
    color: blue; 
    display: block; 
} 
strong:first-letter { 
    color: red; 
} 


<strong>test test</strong> 
0

JSBin

次のとおりです。最初の文字インライン要素

表示を追加、このいずれかを使用してCSSを変更して動作しません:あなたの強力にブロックを{...}

strong { 
    font-weight: bold; 
    color: blue; 
    display: block; 
} 
strong:first-letter { 
    color: red; 
} 
0

あなたはおよそNote: The "first-letter" selector can only be used with block-level elements.

をお読みください気づい

Block-level elements

と例http://jsfiddle.net/eLvWt/6/

strong { 
    display:block; 
    color:green; 
} 

strong:first-letter { 
    color: red; 
} 

:それは時代遅れであることから、この私の答えの参照を無視してください。

+0

この例では正しいかもしれませんが、w3schoolsはしばしば間違っているため参照として使用するひどいリソースです。 –

+4

@RoddyoftheFrozenPeas - 実際にはw3schoolsが間違っています。 'display:inline-block'を持つ要素はインラインレベルの要素ですが、':first-letter'はその要素で動作します。重要な要素は、ラインボックスのスタックを持つ*ブロックボックス*を作成するので、それに応じてスタイルを設定できる最初の文字が存在することです。 – Alohci

+0

あなたの情報をありがとう。私はそれに気付くように私の答えを更新する –

関連する問題