10
#something {
    background: url(data:image/png;base64,ABCDEF);
}

このスニペット、データ URI をサポートするすべてのブラウザーで機能します (明らかに、ABCDEF 以外のものを使用します)。

また、 CSS 2.1 仕様に従って有効です。

...オプションの一重引用符 (') または二重引用符 (") 文字の後に URI 自体が続きます...

しかし、バリデーターは引用符なしではそれを受け入れません:

値のエラー: background url(data:image/png;base64,ABCDEF) は正しくない URL です

URI を一重引用符または二重引用符で囲むと、URI が検証されます。

何か不足していますか?バリデータのバグですか?編集そうでした

4

1 に答える 1

11

url()URI 自体が何らかの方法で構文を壊さない限り(たとえば()仕様にも記載されている関数トークンを途中で終了しないように、エスケープまたは URI エンコードする必要があります)、引用符で囲まれていない場合でも有効である必要があります。 .

おそらくバリデーターのバグです。具体的には、引用符で囲まれていないデータ URI をどのような形式でも処理していないようdataですhttp

#something {
    background: url(http:image/png;base64,ABCDEF);
}

...その後、魔法のように検証に合格します。

于 2013-03-18T15:53:17.283 に答える