Html CSS[attribute=“value”]选择器是否不必要?

Html CSS[attribute=“value”]选择器是否不必要?,html,css,css-selectors,Html,Css,Css Selectors,我正在学习一门关于CSS的edX课程,其中包括: [class*='example'] { background-color: orange; } 在CSS样式表中。我不熟悉那种类型的属性,所以我查了一下。本质上,它只是使用特定的类[或id,取决于特定的属性]向任何东西添加样式。你为什么不加上: background-color: orange; 到相应的类或id,并完成它?这种类型的属性是否有我所缺少的重要用途?in[class*='example']中的*是一个选择器,它检索类名中包含e

我正在学习一门关于CSS的edX课程,其中包括:

[class*='example'] { background-color: orange; }
在CSS样式表中。我不熟悉那种类型的属性,所以我查了一下。本质上,它只是使用特定的类[或id,取决于特定的属性]向任何东西添加样式。你为什么不加上:

background-color: orange;
到相应的类或id,并完成它?这种类型的属性是否有我所缺少的重要用途?

in[class*='example']中的*是一个选择器,它检索类名中包含example的所有元素,而不仅仅是具有类名example的元素

因此[class*='example']将针对以下所有目标:

<div class="iamanexample"></div>
<div class="example"></div>
<div class="whereisyourexample"></div>
你好,世界! 你好,世界! 你好,世界! 你好,世界! 你好,世界! 你好,世界 [class*='example']中的*in是一个选择器,它检索类名中包含example的所有元素,而不仅仅是类名为example的元素

因此[class*='example']将针对以下所有目标:

<div class="iamanexample"></div>
<div class="example"></div>
<div class="whereisyourexample"></div>
你好,世界! 你好,世界! 你好,世界! 你好,世界! 你好,世界!
你好,世界!属性不仅仅是id和class。我看到它最常用于input[type=text]的上下文中,用于选择特定类型的input如果您不确定是否需要它,您可能不需要。无论何时,只要不必使用这些所谓的正则表达式选择器,就要避免使用它们。它们在渲染方面非常昂贵。@TylerH这不是重复的。您链接的问题是询问是否有可能,我的问题是询问选择器的有用性。两个完全不同的问题。此外,我早就接受了一个非常彻底的答案。@elbrant上面链接的目标问题中的答案也回答了这个问题,这就是复制函数的作用。你在这里接受了一个答案是完全不相关的。这里有更多的属性,不仅仅是id和类。我看到它最常用于input[type=text]的上下文中,用于选择特定类型的input如果您不确定是否需要它,您可能不需要。无论何时,只要不必使用这些所谓的正则表达式选择器,就要避免使用它们。它们在渲染方面非常昂贵。@TylerH这不是重复的。您链接的问题是询问是否有可能,我的问题是询问选择器的有用性。两个完全不同的问题。此外,我早就接受了一个非常彻底的答案。@elbrant上面链接的目标问题中的答案也回答了这个问题,这就是复制函数的作用。你在这里接受了一个答案是完全不相关的。这个对~=的描述是不正确的。选择器只能指定一个单词,但它与目标属性(当解释为空格分隔的单词列表时)包含该单词的每个元素相匹配。例如,由div[title~=baz]匹配。另一方面,[foo~=ab]从不匹配:没有一个单词会等于ab,因为单个单词不包含空格。对~=的这种描述是不正确的。选择器只能指定一个单词,但它与目标属性(当解释为空格分隔的单词列表时)包含该单词的每个元素相匹配。例如,由div[title~=baz]匹配。另一方面,[foo~=ab]从不匹配:没有一个单词会等于ab,因为单个单词不包含空格。