SCSS 重复规则消除

SCSS Duplicate Rule Elimination

我目前正在启动其他人制作的前端构建。在 linter 检查成功之前,该项目不允许我进行提交。它告诉我这里有一个重复的规则

@media (min-width:0) and (max-width: 575.98px){
    background: #fff;
    right: 5%;
    right: calc(5% - 2px);
}

对 SCSS 了解不多,我不确定这些是否真的重复(看起来是)。我也不确定应该如何消除冗余以允许 linter 继续进行。我的直觉是删除第一行 right: 5%;

SCSS 只不过是一种更简单的写法 CSS (它最终编译为 CSS )而你得到的 linting 错误是因为你定义了right 属性 两次,而为了清楚起见,它应该只定义一次 属性。这就是为什么要制定 linter 规则以保持 CSS/SCSS 一致。

这里唯一的问题是,要使用的值是什么:是 5% 还是 calc(5% - 2px)?无论哪种方式,最后定义的一个都会被拾取。

@media (min-width:0) and (max-width: 575.98px){
    background: #fff;
    right: 5%;
    right: calc(5% - 2px); // « will be picked up
}

最后使用的属性示例:

.box {
  width: 50px;
  width: 100px;
  height: 50px;
  height: 100px;
  background: red;
  background: blue;
}
<div class="box"></div>

CSS(SCSS) 接受 相同 属性 的最后一个值。 所以你应该只留下你的 属性.

此外,你应该删除媒体中的(min-width: 0),因为它是(min-width: 0) 默认。