:matches() CSS pseudo-class

:matches() CSS pseudo-class

The :matches() (formerly :any()) pseudo-class checks whether the element at its position in the outer selector matches any of the selectors in its selector list. It's useful syntactic sugar that allows you to avoid writing out all the combinations manually as separate selectors. The effect is similar to nesting in Sass and most other CSS preprocessors.

Spec https://www.w3.org/TR/selectors4/#matches
Status W3C Working Draft
IE Edge Firefox Chrome Safari Opera
    57 (3,*) 62 (1,*)    
    56 (3,*) 61 (1,*) TP (2) 48 (1,*)
  16 55 (3,*) 60 (1,*) 11 (2) 47 (1,*)
11 15 54 (3,*) 59 (1,*) 10.1 (2) 46 (1,*)
10 14 53 (3,*) 58 (1,*) 10 (2) 45 (1,*)
9 13 52 (3,*) 57 (1,*) 9.1 (2) 44 (1,*)
8 12 51 (3,*) 56 (1,*) 9 (2) 43 (1,*)
Show all
7   50 (3,*) 55 (1,*) 8 (1,*) 42 (1,*)
6   49 (3,*) 54 (1,*) 7.1 (1,*) 41 (1,*)
5.5   48 (3,*) 53 (1,*) 7 (1,*) 40 (1,*)
    47 (3,*) 52 (1,*) 6.1 (1,*) 39 (1,*)
    46 (3,*) 51 (1,*) 6 (1,*) 38 (1,*)
    45 (3,*) 50 (1,*) 5.1 (1,*) 37 (1,*)
    44 (3,*) 49 (1,*) 5 36 (1,*)
    43 (3,*) 48 (1,*) 4 35 (1,*)
    42 (3,*) 47 (1,*) 3.2 34 (1,*)
    41 (3,*) 46 (1,*) 3.1 33 (1,*)
    40 (3,*) 45 (1,*)   32 (1,*)
    39 (3,*) 44 (1,*)   31 (1,*)
    38 (3,*) 43 (1,*)   30 (1,*)
    37 (3,*) 42 (1,*)   29 (1,*)
    36 (3,*) 41 (1,*)   28 (1,*)
    35 (3,*) 40 (1,*)   27 (1,*)
    34 (3,*) 39 (1,*)   26 (1,*)
    33 (3,*) 38 (1,*)   25 (1,*)
    32 (3,*) 37 (1,*)   24 (1,*)
    31 (3,*) 36 (1,*)   23 (1,*)
    30 (3,*) 35 (1,*)   22 (1,*)
    29 (3,*) 34 (1,*)   21 (1,*)
    28 (3,*) 33 (1,*)   20 (1,*)
    27 (3,*) 32 (1,*)   19 (1,*)
    26 (3,*) 31 (1,*)   18 (1,*)
    25 (3,*) 30 (1,*)   17 (1,*)
    24 (3,*) 29 (1,*)   16 (1,*)
    23 (3,*) 28 (1,*)   15 (1,*)
    22 (3,*) 27 (1,*)   12.1
    21 (3,*) 26 (1,*)   12
    20 (3,*) 25 (1,*)   11.6
    19 (3,*) 24 (1,*)   11.5
    18 (3,*) 23 (1,*)   11.1
    17 (3,*) 22 (1,*)   11
    16 (3,*) 21 (1,*)   10.6
    15 (3,*) 20 (1,*)   10.5
    14 (3,*) 19 (1,*)   10.0-10.1
    13 (3,*) 18 (1,*)   9.5-9.6
    12 (3,*) 17 (1,*)   9
    11 (3,*) 16 (1,*)    
    10 (3,*) 15 (1,*)    
    9 (3,*) 14    
    8 (3,*) 13    
    7 (3,*) 12    
    6 (3,*) 11    
    5 (3,*) 10    
    4 (3,*) 9    
    3.6 8    
    3.5 7    
    3 6    
    2 5    
      4    
iOS Safari Opera Mini Android Browser Blackberry Browser Opera Mobile Android Chrome Android Firefox IE Mobile Android UC Browser Samsung Internet QQ Browser Baidu Browser
11 (2)                      
10.3 (2) all 56 (1,*) 10 (1,*) 37 (1,*) 59 (1,*) 54 (3,*) 11 11.4 (1,*) 5 (1,*) 1.2 (1,*) 7.12 (1,*)
10.0-10.2 (2)   4.4.3-4.4.4 (1,*) 7 12.1     10   4 (1,*)    
9.3 (2)   4.4 (1,*)   12              
9.0-9.2 (2)   4.2-4.3 (1,*)   11.5              
Show all
8.1-8.4 (1,*)   4.1 (1,*)   11.1              
8 (1,*)   4 (1,*)   11              
7.0-7.1 (1,*)   3   10              
6.0-6.1   2.3                  
5.0-5.1   2.2                  
4.2-4.3   2.1                  
4.0-4.1                      
3.2                      

Notes

Most browsers support this spelled as a prefixed :-vendor-any() pseudo-class.

  1. Only supports the :-webkit-any() pseudo-class, which is deprecated due to handling specificity incorrectly.

  2. Also supports the :-webkit-any() pseudo-class, which is deprecated due to handling specificity incorrectly.

  3. Only supports the :-moz-any() pseudo-class.

* Partial support with prefix.

Resources

Data by caniuse.com
Licensed under the Creative Commons Attribution License v4.0.
http://caniuse.com/#feat=css-matches-pseudo

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部