class与[class=xxx]的区别与等价性解析

4 min read

class[class=xxx] 都是 CSS 选择器。它们用于选择具有相同类名的元素。

但是,它们之间有一个关键的区别。class 选择器只匹配一个类名,而 [class=xxx] 选择器可以匹配包含多个类名的元素,只要其中一个类名与指定的类名相同即可。

例如,如果您有以下 HTML 代码:

<div class="foo bar"></div>

使用 .foo 选择器只会选择 div 元素,而使用 [class=foo] 选择器可以选择 div 元素和具有 class="foo baz" 的其他元素。

因此,两者不完全等价。如果您只想选择一个类名为 xxx 的元素,请使用 .xxx 选择器。如果您想选择包含类名 xxx 的所有元素,请使用 [class~=xxx] 选择器。