我想知道是否有可能使用SASS爲每個媒體查詢(手機,平板電腦,桌面等)有一個單獨的文件,然後使用內嵌媒體查詢有sass編譯該類的內聯媒體查詢到該特定文件?使用sass進行內聯媒體查詢的單獨文件?
例如:
說我有一個sass部分_article.scss。
.test-class {
color: #000000;
background: red;
width: 980px;
@media only screen and (max-width : 300px) {
width: 100px;
height: 100px;
}
}
這部分是在base.scss中導入的。
@import "partials/article";
現在我想的是,與其查詢在base.css文件被編譯每一個媒體,我想與手機,平板電腦等每一個具體的媒體查詢被編譯到它自己的文件(mobile.css ,平板電腦,CSS等)。
換句話說,我希望內聯媒體查詢的好處,同時仍然爲每個設備都有一個非常模塊化的文件結構。當我提供文件時,我只需要服務器2個小文件(base.css和mobile.css)。
這可能嗎?我目前剛剛創建了一個mobile.scss文件,然後手動覆蓋了項目中與我一樣大的項目樣式,這將導致稍後的問題。
有沒有更好的選擇?
感謝
你意識到從文檔鏈接的每個CSS文件都會被每個客戶端下載,即使它們不符合媒體條件,對吧?這樣做沒有性能優勢。 – cimmanon 2014-10-06 02:26:25
是的,我意識到這一點。我想這樣做的原因是因爲它更容易理解(邏輯上),尤其是因爲其他客戶將在他們自己的公司網站上使用這些文件。此外,如果我們想要它可能只提供所需的文件使用JavaScript和後備。 – Deep 2014-10-06 02:35:37
@cimmanon其實有。通過谷歌的PageSpeed Insights文檔,由media =「prientation:portrait」(或其他標籤爲「print」等)包含和定義的css被視爲「非阻塞」,因此它不會阻止呈現LAYOUT ,在它被繪之前。因此這是一個性能提升。通常,當你深入到網頁的表現並希望SEO喜歡你時,你會做更多的事情 - 甚至更多。 – MiKE 2016-07-01 19:34:26