【发布时间】:2015-11-27 14:41:07
【问题描述】:
我对 CSS 2 和 CSS 3 选择器的功能有一些疑问。
CSS 2 选择器是否强大到足以选择 DOM 树中的任何元素?
有什么 CSS 3 选择器可以做而 CSS 2 选择器不能做的事情吗?
理论上是否可以将任何 CSS 3 选择器转换为 CSS 2 选择器(尽管转换后的 CSS 2 选择器可能有点乏味)?
是否有任何工具可以将 CSS 3 转换为 CSS 2 选择器?
我问这个问题是因为我发现有一个很好的 CSS 3 选择器生成器(例如 superselector)但是有些工具只知道 CSS 2。
【问题讨论】:
-
你能编辑你的 HTML 吗?只要您可以为元素添加 class 和 id 属性,就可以使用“CSS 2 选择器”获得相同的结果,但需要做一些额外的工作。
-
但是在我可以为一个选定的元素添加属性之前,我必须首先通过 CSS 2 选择器来选择它。我不会手动编辑 HTML。
-
这些问题毫无意义。
-
@sevenseacat 我的场景来自一些实际用例。通常,在使用现代浏览器时,我肯定会选择 CSS 3 选择器。但是,有时我会使用一些限制我只能使用 CSS 2 选择器的工具。所以我需要了解 CSS 2 的功能,看看我们是否可以使用它来选择网页中的任意元素。
-
@sevenseacat 我的问题 2 可能有点意义不大。我相信 CSS 3 必须比 CSS 2 更强大(否则为什么要新版本!)。不过,新版本可能只是为了让我们更方便地选择元素,并没有起到关键性的作用。也许我没有说得很好,但这就是我的观点。
标签: css css-selectors