微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

css – SASS,何时扩展?

我目前正在使用一个使用SASS的团队.我看到我们扩展的样式很简单,对我来说,我看不到这样做的好处.我错过了什么吗?

以下是导入并在其他sass文件中使用的_Common.scss的一些示例:

.visibility-hidden{visibility: hidden;}
.display-inline { display: inline; }
.display-inline-block { display: inline-block; }
.display-block { display: block; }
.display-none { display: none; }
.display-Box { display: Box; }

.float-left { float: left; }
.float-right { float: right; }
.clear-both { clear: both; }

.width-percent-100 { width: 100%; }
.width-percent-65 { width: 65%; }
.width-percent-50 { width: 50%; }
.width-percent-45 { width: 45%; }
.width-percent-40 { width: 40%; }
.width-percent-33 { width: 33%; }
.width-percent-30 { width: 30%; }
.width-percent-20 { width: 20%; }

.height-percent-100 { height: 100%; }

.cursor-pointer { cursor: pointer; }

.underline { text-decoration: underline; }
.text-decoration-none { text-decoration: none; }
.bold { font-weight: bold; }
.font-weight-normal { font-weight: normal; }
.text-align-center { text-align: center; }
.text-align-left { text-align: left; }
.text-align-right { text-align: right; }

.font-10 { font-size: 10px; }
.font-11 { font-size: 11px; }
.font-12 { font-size: 12px; }
.font-13 { font-size: 13px; }
.font-14 { font-size: 14px; }
.font-15 { font-size: 15px; }
.font-16 { font-size: 16px; }
.font-17 { font-size: 17px; }
.font-18 { font-size: 18px; }

.font-percent-65 { font-size: 65%; }
.font-percent-80 { font-size: 80%; }
.font-percent-90 { font-size: 90%; }
.font-percent-100 { font-size: 100%; }
.font-percent-110 { font-size: 110%; }
.font-percent-120 { font-size: 120%; }
.font-percent-130 { font-size: 130%; }
.font-percent-140 { font-size: 140%; }
.font-percent-150 { font-size: 150%; }
.font-percent-160 { font-size: 160%; }
.font-percent-170 { font-size: 170%; }
.font-percent-180 { font-size: 180%; }

例:

#CategoriesContainer
{
  ul{
    li{
        &:first-child{
          @extend .font-11;
        }
        a
        {
          @extend .font-11;
          @extend .text-decoration-none;
        }
    }
  }
}

解决方法

只有当您具有将被多次使用的特定属性集时,才应使用扩展.用一个具有单位值的属性的类扩展类的纯粹愚蠢是不可理解的.

reference guide中可以找到一个更好的扩展原因的例子

说我们有2个班

.error {
  border: 1px #f00;
  background-color: #fdd;
}
.serIoUsError {
  border-width: 3px;
}

.错误是一般的没有有趣的风格,但严重的错误应该是很清楚的.

创建了.serIoUsError来增加行,唯一的问题是现在我们必须使用html中的这两个类来组合样式.

因为我们很懒惰,只想使用一个类,而不是将来可能会更改的重复代码,我们可以用.error来扩展.serIoUsError

.serIoUsError {
  @extend .error;
  border-width: 3px;
}

现在我们没有在我们的sass文件中复制代码,但在页面上获得了正确的样式.

查看参考指南了解更多/更好的例子.

只是为了小猫停止扩展类与一个属性类.并且不要隐式地声明选择器中的值/属性,这不是非常语义.

你和你的团队应该是read this post,它解释了你在这里采取的aproach与语义代码的一些问题.找不到一个更好的调整发布这个快速.

原文地址:https://www.jb51.cc/css/217220.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。