几年前我在大学学习前端开发时,我们的老师教我们始终在 CSS 选择器中提供目标元素的完整(几乎)父 DOM 层次结构。
因此,在我们的 Web 项目中,我们必须编写如下选择器:
div#container div#content p.bread a.external { }
而不仅仅是:
#container #content .bread .external { }
或(我看到这里可能发生的类冲突的缺点)
.external { }
我个人写我的选择器喜欢
#container #content p.bread a.external {}
直到我最近读到一篇文章说应该避免它(但没有明显的原因)和另一篇文章说相同但那篇文章是为 jQuery 选择器设计的。
我的老师错了吗?编写 CSS 选择器的正确方式(解析速度最快且支持最多)是什么?