scss-@media


  首先回顧下css3中的@media

  定義和使用:

  使用 @media 查詢,你可以針對不同的媒體類型定義不同的樣式。

  @media 可以針對不同的屏幕尺寸設置不同的樣式,特別是如果你需要設置設計響應式的頁面,@media 是非常有用的。

  當你重置瀏覽器大小的過程中,頁面也會根據瀏覽器的寬度和高度重新渲染頁面。

  實例:如果文檔寬度小於 300 像素則修改背景顏色(background-color):

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

 

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

  scss允許@media在css規則中進行嵌套,如果@media嵌套在CSS規則內,編譯時,@media將被編譯到文件的最外層,包含嵌套的父選擇器,scss代碼實例如下:

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

  編譯成css代碼如下:

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

  @media的queries允許互相嵌套使用,編譯時,scss自動添加and。

  代碼實例如下:

@media screen {
  .sidebar {
    @media (orientation: landscape) {
      width: 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; 
  } 
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM