31772


CSSセレクタを使う時にいつも

[code]

    *[foo="bar"]
    
[/code]

のようにアスタリスクで全てのタグにマッチすることを指定したのですが

[code]

    [foo="bar"]
    
[/code]

という記述をしているサイトがあり、全てにマッチしてるようなのですが  
この二つの記述に何か動作の違いはありますか？


CC BY-SA 3.0
2017-01-11T07:34:18.597
31770
2017-01-11T07:46:36.790
3271
question
css
CSSセレクタでアスタリスクを使う場合 *[foo="bar"] と省略した場合 [foo="bar"] は等価ですか？


[Selectors Level 3 - 6.2. Universal
selector](https://www.w3.org/TR/css3-selectors/#universal-
selector)に説明がありますが、同じです。

> `*[hreflang|=en]` and `[hreflang|=en]` are equivalent,  
>  `*.warning` and `.warning` are equivalent,  
>  `*#myid` and `#myid` are equivalent.

なお

> **_Note:** it is recommended that the `*` not be omitted, because it
> decreases the potential confusion between, for example, `div :first-child`
> and `div:first-child`. Here, `div *:first-child` is more readable._

とあり、読み易さのためにも省略すべきではないそうです。


CC BY-SA 3.0
2017-01-11T07:46:36.790
31772
2017-01-11T07:46:36.790
4236
31770
answer