Sass 面試問題
尊敬的讀者,這些SASS面試問題是專為您設計的,目的是讓您了解在面試過程中可能遇到的SASS主題的問題性質。根據我的經驗,良好的面試員幾乎不打算在你的面試中問任何特定的問題,通常問題從該主題的一些基本概念開始,之后他們繼續基于進一步的討論和你的回答:
什么是SASS?SASS(Syntactically Awesome Stylesheet)是一個CSS預處理器,有助于減少CSS的重復,節省時間。它是更穩定和強大的CSS擴展語言,描述文檔的樣式干凈和結構。
它是預處理語言,它為CSS提供縮進語法(它自己的語法)。
它允許更有效地編寫代碼和易于維護。
它是包含CSS的所有功能的CSS的超集,是一個開源的預處理器,以Ruby編碼。
它提供了比平面CSS好的結構格式的文檔樣式。
它使用可重復使用的方法,邏輯語句和一些內置函數,如顏色操作,數學和參數列表。
它是更穩定,強大,與CSS的版本兼容。
它是超集的CSS和基于JavaScript。
它被稱為CSS的語法糖,這意味著它使用戶更容易閱讀或表達的東西更清楚。
它使用自己的語法并編譯為可讀的CSS。
你可以在更少的時間內輕松地編寫CSS代碼。
它是一個開源的預處理器,被解釋為CSS。
它允許在編程結構中編寫干凈的CSS。
它有助于編寫CSS更快。
它是CSS的超集,幫助設計師和開發人員更有效率和快速地工作。
由于Sass兼容所有版本的CSS,我們可以使用任何可用的CSS庫。
可以使用嵌套語法和有用的函數,如顏色操作,數學和其他值。
開發人員需要時間了解此預處理器中存在的新功能。
如果更多的人在同一個網站上工作,那么將使用相同的預處理器。有些人使用Sass,有些人使用CSS直接編輯文件。因此,它將變得難以與現場工作。
有機會失去瀏覽器的內置元素檢查器的好處。
SASS支持兩種語法,即SCSS和縮進語法。
SCSS(Sassy CSS)是CSS語法的擴展,可以更容易地維護大型樣式表,并且可以識別供應商特定的語法和許多CSS。SCSS文件使用擴展名.scss。
縮進是較舊的語法,有時僅稱為Sass。使用這種形式的語法,可以簡潔地編寫CSS。SASS文件使用擴展名.sass。
您可以使用三種不同的方式使用SASS:
作為命令行工具
作為一個Ruby模塊
作為Rack啟用框架的插件
嵌套是不同邏輯結構的組合。使用SASS,我們可以將多個CSS規則相互組合。如果使用多個選擇器,則可以在另一個選擇器中使用一個選擇器來創建復合選擇器。
您可以使用&字符選擇父級選擇器。它告訴父選擇器應該插入的位置。
SASS使用class或id選擇器支持占位符選擇器。在正常CSS中,這些用“#"或“。"指定,但在SASS中,它們替換為“%"。
有5種類型的運算符:
數字運算符
顏色運算符
字符串運算符
布爾運算符
列表運算符
它允許諸如加法,減法,乘法和除法的數學運算。
它允許使用顏色分量和算術運算。
列表表示使用逗號或空格分隔的一系列值。
您可以使用and、or和not(與或非)對Sass腳本執行布爾運算。
括號是一對標記,通常用圓括號()或方括號[]來標記,這提供了影響操作順序的符號邏輯。
它使用#{}語法提供選擇器和屬性名稱中的SassScript變量。您可以在花括號中指定變量或屬性名稱。
您可以通過向變量值的結尾添加!default標志來設置變量的默認值。如果值已經分配給變量,則不會重新分配該值。
它直接采用文件名導入,所有導入的文件將合并到一個單一的CSS文件。
它將樣式規則設置為不同的媒體類型。
它用于共享選擇器之間的規則和關系。它可以在一個類中擴展所有其他類樣式,也可以應用自己的特定樣式。
它是一個嵌套規則的集合,它能夠在文檔的根節點創建樣式塊。
它用于基于表達式求值的結果選擇性地執行代碼語句。
@else if語句與@if指令一起使用,每當@if語句失敗,則嘗試@else if語句,如果它們也失敗,則執行@else。
它允許您在循環中生成樣式。計數器變量用于設置每次迭代的輸出。
在@each指令中,定義了一個包含列表中每個項目的值的變量。
它用于定義mixin,其中包含可選的mixin名稱之后的變量和參數。
它用于在文檔中包含mixin,由mixin定義的樣式可以包含在當前規則中。
SassScript值可以作為mixin中的參數,當mixin包含并在mixin中作為變量使用時,可以將其作為參數。
有兩種類型的mixin參數:
關鍵字參數
可變參數
它用于在mixin中包含參數。命名的參數可以按任何順序傳遞,參數的默認值可以省略。
變量參數用于將任意數量的參數傳遞給mixin。它包含傳遞給函數或mixin的關鍵字參數。
使用函數指令,可以創建自己的函數,并在腳本上下文中使用它們,或者可以使用任何值。
SASS生成的CSS文件由反映文檔結構的默認CSS樣式組成。默認的CSS樣式很好,但可能不適合所有情況。
嵌套樣式是SASS的默認樣式。這種方式的樣式在處理大型CSS文件時非常有用。
在擴展輸出樣式中,每個屬性和規則都有自己的線。與嵌套CSS樣式相比,它需要更多的空間。
緊湊的CSS風格競爭力比Expanded和Nested占用更少的空間。它主要關注選擇器而不是其屬性。
與所有其他樣式相比,壓縮的CSS樣式占用最少的空間。它僅提供空格,以在文件末尾分隔選擇器和換行符。
它使用縮進而不是{和}來分隔塊。
要分隔語句,它使用換行符而不是分號(;)。
屬性聲明和選擇器必須放在自己的行上,{和}中的語句必須放在>和縮進。
CSS屬性可以通過兩種方式聲明:
屬性可以聲明為類似于CSS但沒有分號(;)。
colon(:)將以每個屬性名稱為前綴。
您可以使用= for @mixin指令和+ for @include指令,這需要更少的鍵入,使您的代碼更簡單,更容易閱讀。
sass --watch C:\\ ruby \\ lib \\ sass \\ style.scss:style.css
注釋占用整行并包圍嵌套在它們下面的所有文本,它們是基于行的縮進語法。
sass input.scss output.css
首先它檢查Unicode字節,下一個@charset聲明,然后檢查Ruby字符串編碼。
接下來,如果未設置任何內容,則會將字符集編碼視為。
使用@charset聲明顯式地確定字符編碼。只需在樣式表的開頭使用“@charset encoding name",SASS將假設這是給定的字符編碼。
如果SASS的輸出文件包含非ASCII字符,那么它將使用@charset聲明。
Sass支持兩種類型的注釋:
多行注釋 -使用/ *和* /寫入。多行注釋保存在CSS輸出中。
單行注釋 -這些是使用//和注釋寫成的。單行注釋不會保留在CSS輸出中。
它使用命令行評估SassScript表達式。您可以使用sass命令行和 -i選項運行shell。
它檢測錯誤并將SassScript表達式值顯示到標準錯誤輸出流。
它將SassScript表達式值顯示為致命錯誤。