SCSS是CSS的一種預處理器,可以定義變量、嵌套規則、混合等方便的語法,同時也支持if/else等判斷語句,讓我們對樣式的控制更加靈活。
$bg-color: #333; body { background-color: $bg-color; @if $bg-color == #fff { color: #333; } @else { color: #fff; } }
上面的SCSS代碼中,我們定義了一個背景色變量$bg-color,然后在body樣式中使用該變量作為背景色,并通過@if / else語句判斷如果背景色為白色,則設置文字顏色為黑色,否則設置文字顏色為白色。這樣,我們可以根據不同的情況靈活地控制樣式。
CSS也可以使用條件判斷語句,不過語法稍有不同:
:root { --bg-color: #333; } body { background-color: var(--bg-color); color: #fff; } body[style="background-color: rgb(255, 255, 255);"] { color: #333; }
上面的CSS代碼中,我們使用了CSS變量(Custom Properties)定義背景色,然后通過屬性選擇器判斷如果背景色為白色,則設置文字顏色為黑色。由于CSS變量的存在,我們也可以靈活地控制樣式,不過在使用屬性選擇器時需要注意兼容性問題。