Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scss嵌套,必要时重复_Css_Sass - Fatal编程技术网

scss嵌套,必要时重复

scss嵌套,必要时重复,css,sass,Css,Sass,一个简短的问题: 为什么我必须为每个嵌套状态重复第一个参数,如位置和顶部?我想重点是不要重复? 如果我删除嵌套类中的状态,它将不起作用 我想像这样使用它们: 徽标必须位于左上角,所以我使用左上角作为一个类,用于菜单,即右上角等 .top { position: fixed; top: 2%; &__left { position: fixed; top: 2%; left: 1%; } &__right { position

一个简短的问题:

为什么我必须为每个嵌套状态重复第一个参数,如位置和顶部?我想重点是不要重复? 如果我删除嵌套类中的状态,它将不起作用

我想像这样使用它们:

徽标必须位于左上角,所以我使用左上角作为一个类,用于菜单,即右上角等

  .top {
  position: fixed;
  top: 2%;
  &__left {
    position: fixed;
    top: 2%;
    left: 1%;
  }
  &__right {
    position: fixed;
    top: 2%;
    right:1%;
  }
  &__centered {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

我建议使用多个类:

.top {
  position: fixed;
  top: 2%;
  &.left {
    left: 1%;
  }
  &.right {
    right:1%;
  }
  &.centered {
    top: initial;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
您可以这样使用它:

<div class="top left"></div>
<div class="top right"></div>
<div class="top centered"></div>

继承父选择器的所有属性没有任何意义,但对于需要使用@extend指令的情况:

SASS

.top {
  position: fixed;
  top: 2%;
  &__left {
    @extend .top ;
    left: 1%;
  }
  &__right {
    @extend .top;
    right:1%;
  }
  &__centered {
    position: fixed;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
输出

.top, .top__left, .top__right {
  position: fixed;
  top: 2%;
}
.top__left {
  left: 1%;
}
.top__right {
  right: 1%;
}
.top__centered {
  position: fixed;
  left: 50%;
  transform: translate(-50%, -50%);
}