この質問は、しばらくの間私を悩ませてきました。要素の属性と比較するCSSセレクターを作成するとき。
a[rel="nofollow"]
引用符を使って何をすべきかわかりません。それらは本当に必要ですか?
基本的に、私はそれをウェブサイトで見つけることができないので、これの仕様は何ですか。
これらはすべて有効と見なされますか?
a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
HTMLおよびCSSでの引用符で囲まれていない属性値 については、この件についてより詳しく説明しました。
また、質問への回答に役立つツールも作成しました。 http://mothereff.in/unquoted-attributes
属性値が英数字である限り、通常は引用符を省略できます(ただし、いくつかの例外があります。詳細については、リンク先の記事を参照してください)。とにかく、必要に応じて引用符を追加することをお勧めします。つまり、a[href^=http://]
は機能しませんが、a[href^="http://"]
します。
私が言及した記事は、CSS仕様の適切な章へのリンクです。
属性値は識別子または文字列である必要があります
— http://www.w3.org/TR/CSS2/selector.html#attribute-selectors
最初の2つは文字列を使用します。 3番目は識別子を使用します。
識別子(セレクターの要素名、クラス、IDを含む)には、文字[a-zA-Z0-9]とISO 10646文字U + 00A0以上、およびハイフン(-)とアンダースコア(_)のみを含めることができます。数字、2つのハイフン、またはハイフンの後に数字を続けることはできません。
— http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier
文字列は二重引用符または一重引用符で記述できます。