Sass、指南针、@include和@extend

Sass、指南针、@include和@extend,sass,compass-sass,Sass,Compass Sass,我对Sass有问题,这与创建sprite和以后重用编译的类有关。 这是my styles.scss: @import 'buttons/*.png'; @include all-buttons-sprites; @import 'partial/buttons'; 这是buttons.scss: .buttons { @extend .buttons-blue-button; background-repeat: no-repeat; background-size: cover

我对Sass有问题,这与创建sprite和以后重用编译的类有关。 这是my styles.scss:

@import 'buttons/*.png';
@include all-buttons-sprites;

@import 'partial/buttons';
这是buttons.scss:

.buttons {
  @extend .buttons-blue-button;
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
  cursor: pointer;
  border: none;
  font-size: 18px;
  width: 242px;
  height: 45px;
  font: sky-text-med;
  padding-bottom: 5px;
  margin: 24px 4px 14px;
  opacity: 0;
}
Compass未显示任何错误,但compile css显示:

.buttons-sprite, .buttons-blue-button, .buttons, .buttons-blue-hover-button, .buttons-yellow-button, .buttons .yellow, .buttons-yellow-hover-button {
  background: url('/welcome/assets/img/buttons-s5afcdf1a60.png') no-repeat; }


.buttons-blue-button, .buttons {
  background-position: 0 0; }

.buttons {
  background-repeat: no-repeat;
  background-size: cover;
  color: #ffffff;
  cursor: pointer;
  border: none;
  font-size: 18px;
  width: 242px;
  height: 45px;
  font: sky-text-med;
  padding-bottom: 5px;
  margin: 24px 4px 14px;
  opacity: 0; }
但缺少背景,应通过@extend.buttons蓝色按钮设置

为什么没有发生这种情况

.buttons {
    @extend .buttons-blue-button;
    ...
}
您正在告诉.button类扩展.button蓝色按钮类

.buttons-sprite, .buttons-blue-button, .buttons, .. {
    background: url('/welcome/assets/img/buttons-s5afcdf1a60.png') no-repeat;
}

.buttons-blue-button, .buttons {
  background-position: 0 0;
}

罗盘在这里没有出错,背景图像已经设置好,背景位置也设置好了。您的期望/假设和css属性完全错误。

Thx@mchlslzmnn。你说得对。我去了思想文档,它按照设想的方式工作