来自stylelint 文档:
“源顺序在 CSS 中很重要,当两个选择器具有相同的特异性时,最后出现的将优先。但是,当其中一个选择器具有更高的特异性时,情况就不同了。在这种情况下,源顺序不问题:具有更高特异性的选择器将胜出,即使它先出现。
这两种优先级、源顺序和特异性机制的冲突可能会在阅读样式表时引起一些混乱。 如果具有更高特异性的选择器出现在它覆盖的选择器之前,我们必须更加努力地理解它,因为它违反了源顺序期望。 "
如果使用以下配置, Stylelint (可以使用npm install && npm run lint:fix
运行)可以检测到这些:
"no-descending-specificity": true,
注意:目前有很多违规者违反此规则,因此可能值得等到 master.less 更易于管理(#1092)后再尝试此规则
npm run lint:fix
检测到的任何违规者最好早点而不是晚点......如果没有其他人这样做,将会解决这个问题。
这也会有点棘手。 有很多罪犯:-S
嘿@jdlrobson! 如果您仍然需要它,我愿意提供帮助。
我们的确是! 去吧@thefifthisa !
@jdlrobson太好了,谢谢! 我能知道你已经做过哪些,所以我知道从哪里开始吗?
@thefifthisa我建议首先将规则添加到现有的stylelint 配置文件中,并确保在运行时可以在本地看到错误
npm install
npm run lint:fix
添加此规则时,我看到很多错误。
让我们将第一个拉取请求保持在较小的范围内,并且合理地避免合并冲突! 作为一般规则,我建议禁用包含超过 6 个错误的大文件顶部的规则 [1]。 (例如 static/css/components/header-bar.less 和 static/css/legacy.less)并专注于问题较少的文件。
使用这种 linting 的目标是慢慢消除 CSS 并对其进行改进,因此一次不要花费太多 - 专注于有 1-6 个问题的文件! 否则,它会让你更难写,别人也更难复习。
这有意义吗?
让我知道是否需要更多指导!
[1] 在文件顶部添加以下行将阻止该规则在此处应用!
/* stylelint-disable no-descending-specificity */
@jdlrobson知道了,刚刚提交了 PR!
我只想要一件T恤
这可以关闭...感谢@thefifthisa ,代码库中没有降序特定性:)
最有用的评论
我只想要一件T恤