scss-@media

  首先回顾下css3中的@media

  定义和使用:

  使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

  @media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。

  当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

  实例:如果文档宽度小于 300 像素则修改背景颜色(background-color):

@media screen and (max- 300px) {
    body {
        background-color:lightblue;
    }
}

  @media功能在scss和在css中基本一样,只是增强了一下。

  scss允许@media在css规则中进行嵌套,如果@media嵌套在CSS规则内,编译时,@media将被编译到文件的最外层,包含嵌套的父选择器,scss代码实例如下:

.sidebar {
  width: 300px;
  @media screen and (orientation: landscape) {
     500px;
  }
}

  编译成css代码如下:

.sidebar {
  width: 300px; 
}
@media screen and (orientation: landscape) {
  .sidebar {
    width: 500px; 
  } 
} 

  @media的queries允许互相嵌套使用,编译时,scss自动添加and。

  代码实例如下:

@media screen {
  .sidebar {
    @media (orientation: landscape) {
       500px;
    }
  }
}

  编译后的css代码如下:

@media screen and (orientation: landscape) {
  .sidebar {
    width: 500px; 
  } 
}

  @media当然也可以使用scss中的变量、运算符以及函数,代码实例如下:

$media: screen;
$feature: -webkit-min-device-pixel-ratio;
$value: 1.5;
  
@media #{$media} and ($feature: $value) {
  .sidebar {
    width: 500px;
  }
}

  被编译后的css代码如下:

@media screen and (-webkit-min-device-pixel-ratio: 1.5) {
  .sidebar {
    width: 500px; 
  } 
}
原文地址:https://www.cnblogs.com/ibabyli/p/9871540.html