SASS 媒体查询最佳实践?

Jan*_*ath 4 css sass

可以将媒体查询嵌套在元素内吗?如果我想在其他地方使用,min-width: 480px将会出现巨大的重复。请看我的代码示例。还是只用老方法?任何想法?

萨斯

.navbar {
     height: 500px;
     width: 500px;

     @media screen and (min-width: 480px) {
         background-color: lightgreen;
     }
}

.items {
    padding: 15px;
    color: red;

    @media screen and (min-width: 480px) {
        border: 1px solid black;
    }
}
Run Code Online (Sandbox Code Playgroud)

CSS

@media screen and (min-width: 480px) {
   .navbar {
       background-color: lightgreen;
   }

   .items {
       border: 1px solid black;
   }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

$pc: 1024px;    // PC screen size.
$tablet: 720px; // Tablet screen size.
$phone: 320px;  // Phone screen size.

@mixin responsive($media) {
  @if $media= phone {
    @media only screen and (max-width: $tablet - 1) {
      @content;
    }
  }
  @else if $media= tablet {
    @media only screen and (min-width: $tablet - 1) and (max-width: $pc) {
      @content;
    }
  }
  @else if $media= pc {
    @media only screen and (min-width: $pc + 1) and (min-width: $pc) {
      @content;
    }
  }
  @else if $media= pc_tablet {
    @media only screen and (min-width: $tablet - 1) {
      @content;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

例子

body {
  @include responsive(pc) {
    background: red;
  }
  @include responsive(tablet) {
    background: yellow;
  }
  @include responsive(phone) {
    background: green;
  }
}
Run Code Online (Sandbox Code Playgroud)