为什么.ui-widget匹配.ui-widget .ui-widget

时间:2013-02-23 18:43:58

标签: css jquery-ui css-selectors

我正在尝试使用jquery-ui并查看和克隆一些示例。在一个例子中(autocomplete的组合框),我看到一个带有类ui-widget的anchor(a)元素,它与包含的css文件中的.ui-widget .ui-widget { css: stuf}匹配。

我或多或少克隆了此示例,但我的a.ui-widget版本与.ui-widget { other-css: stuff}匹配(正如我所料)

什么会使第一个示例与css文件中的double条目和我的克隆单个条目匹配。

我没有看到任何其他相关差异css条目是相同的。

1 个答案:

答案 0 :(得分:1)

.ui-widget作为选择器更通用(或更不具体):只要元素具有该类,它将匹配任何元素。 .ui-widget仍然是.ui-widget,无论它是否包含在其他 .ui-widget元素中,因此它仍会与.ui-widget选择器匹配

如果带有.ui-widget选择器的规则覆盖使用选择器.ui-widget .ui-widget为同一元素声明的相同规则,则出现问题,因为后者更多具体而且应该优先考虑。但这并不能阻止两个选择器匹配相同的元素,因为你基本上都在寻找相同的类。