6

だから、私はウェブサイトデザイナーを構築している途中で、奇妙なことに出くわしtext-shadow: 0 0 0 someColorました。要素に を設定すると、実際に影が適用されます。ここでFIDDLEが非常に明確なフィドルを作成しました。

これはバグですか? ここに画像の説明を入力

4

5 に答える 5

4

仕様の間違った実装ではないという点で、これはバグではありません。仕様は、計算された値が 以外である限り、影が生成されることを意味しますnone。に計算できる唯一の値nonenoneまたはinitialです。

テキストの影は、ボックスの影と同様に描画されます。このため、テキスト シャドウのほとんどの動作は、ボックス シャドウの仕様に従います。どちらの仕様にも、すべてゼロの値が影を生成しないとは記載されていません。それが言っているのは、どちらのプロパティも2つの可能な値のいずれかを取ることができるということnoneです<shadow>:スペック。ではない値を持っている限り、どちらの仕様も影が描画されると仮定し、その仮定に基づいてすべての動作を指定します。text-shadow[ <length>{2,3} && <color>? ]#none

両方のプロパティについて、色を指定しなくても、両方の仕様currentColorで使用する必要があると述べています (散文的には、color「プロパティから取得された」または「それがシャドウするインクの結果の色」であると述べています。結果は次のとおりです)。コードはcurrentColor) です。

影は常に 以外の値で描画され、none長さが 0 の場合、テキストとまったく同じサイズの影になるため、ここで起こることはおそらく、アンチエイリアシングのために半透明ピクセルの 2 つ以上のレイヤーを合成した結果です。グリフと影の(コメントに記載されているように)。これは、テキストの影だけでなく、ボックスの影にも当てはまります。その典型的な例は、角が丸いボックスにあります。アンチエイリアシングの唯一のヒントは、ボックスの直線の端ではなく、角の丸み自体にあります。 . これは、少なくともテストと以前の経験に基づいて、すべてのブラウザーでも発生します。

とはいえ、絶対に値として受け入れられない場合は、いつでも色noneを指定できます。transparent影は描かれますが、完全に透明なので見えません

于 2013-09-20T18:31:48.083 に答える
0

テキストシャドウ: 0px 0px 0px #FFFFFF; これらのプロパティは非表示または表示用ではありません。影を上下に移動し、影を右左に移動すると、ぼかしレベル 0 がクリアになります。

シャドウを非表示にする場合は、「text-shadow:;」と記述します。ただし、値を設定しないでください。空にする必要があります。

下手な英語でごめんなさい:)

于 2013-09-19T13:10:43.427 に答える
0

ページ ビルダーを作成していて、最初の「空の」値が必要な場合 (空ではありません。最初の 2 つのゼロは配置を示し、最後のゼロはぼかしの量を示します)、要素のデフォルトとして色を設定したいだけかもしれません。背景色。または、ぼかし値を -1 に変更できます。

text-shadow: 0 0 -1px red;

私が考えることができる他のオプションは、それらに text-shadow を有効にしてから、 if else ステートメントを使用して 0 0 0 red を入れることです。擬似コード:

if text-shadow option is checked
    use text-shadow:0 0 0 red;

else
    use text-shadow:none;

幸運を。

于 2013-09-20T17:51:26.480 に答える