W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
條件提供了語言的劉控制,否則就是純粹的靜態(tài)語言。提供的條件有導入、混入、函數(shù)以及更多。下面的例子純粹示例,并不是使用建議。
這沒什么好說的,跟一般的語言一致,if表達式滿足(true)的時候執(zhí)行后面語句塊,否則,繼續(xù)后面的else if或else.
下面這個例子,根據(jù)overload的條件,決定是使用padding還是margin.
overload-padding = true
if overload-padding
padding(y, x)
margin y x
body
padding 5px 10px
另外的例子:
box(x, y, margin = false)
padding y x
if margin
margin y x
body
box(5px, 10px, true)
另外的box()幫手:
box(x, y, margin-only = false)
if margin-only
margin y x
else
padding y x
熟悉Ruby程序語言的用戶應該都知道unless條件,其基本上與if相反,本質(zhì)上是(!(expr)).
下面這個例子中,如果disable-padding-override是undefined或false, padding將被干掉,顯示margin代替之。但是,如果是true, padding將會如期繼續(xù)輸出padding 5px 10px.
disable-padding-override = true
unless disable-padding-override is defined and disable-padding-override
padding(x, y)
margin y x
body
padding 5px 10px
Stylus支持后綴條件,這就意味著if和unless可以當作操作符;當右邊表達式為真的時候執(zhí)行左邊的操作對象。
例如,我們定義negative()來執(zhí)行一些基本的檢查。下面我們使用塊式條件:
negative(n)
unless n is a 'unit'
error('無效數(shù)值')
if n < 0
yes
else
no
接下來,我們利用后綴條件讓我們的方法簡潔。
negative(n)
error('無效數(shù)值') unless n is a 'unit'
return yes if n < 0
no
當然,我們可以更進一步。如這個n < 0 ? yes : no可以用布爾代替:n < 0.
后綴條件適用于大多數(shù)的單行語句。如,@import, @charset, 混合書寫等。當然,下面所示的屬性也是可以的:
pad(types = margin padding, n = 5px)
padding unit(n, px) if padding in types
margin unit(n, px) if margin in types
body
pad()
body
pad(margin)
body
apply-mixins = true
pad(padding, 10) if apply-mixins
生成為:
body {
padding: 5px;
margin: 5px;
}
body {
margin: 5px;
}
body {
padding: 10px;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: