[class*=] css类选择器的含义和作用

Y. *_*nov 6 html css css-selectors

在这里询问是因为我无法通过它传递正确的搜索查询。这是一个代码示例:

[class*="button_type"].state_2,
[class*="button_type"]:not(.state_2):hover{
    background-color:#fff;
}
Run Code Online (Sandbox Code Playgroud)

此外,后缀有什么用:not?

我不明白为什么它不仅仅是:

.button_type.state_2,
.button_type:hover { etc..}
Run Code Online (Sandbox Code Playgroud)

dip*_*pas 8

[class*="button_type"]CSS类选择器(相当于CSS属性选择器)意味着将选择其类至少包含一个子字符串“ button_type ”的所有元素。

看一下这个例子:

[class*="button_type"] {
  background: red;
  width: 50px;
  height: 50px;
  display: inline-block
}
Run Code Online (Sandbox Code Playgroud)
<div class="button_type"></div>
<span class="one_button_type"></span>
<article class="button_type_final"></article>
Run Code Online (Sandbox Code Playgroud)

关于:not()这意味着它将选择除位于内部的选择器之外的所有内容:not()

看一下这个例子:

[class*="button_type"] {
  background: red;
  width: 50px;
  height: 50px;
  display: inline-block
}
[class*="button_type"]:not(.state_2) {
  border: black solid
}
Run Code Online (Sandbox Code Playgroud)
<div class="button_type state_1"></div>
<span class="one_button_type state_2"></span>
<article class="button_type_final state_3"></article>
Run Code Online (Sandbox Code Playgroud)