Stylus学習ノート
4140 ワード
stylus学習
セレクタ
インデント構文(必須、必須) stylus最も卑しい書き方 はstylusでコロン、セミコロン、カッコがオプションです. 私が考えているのは、私たちのエディタにはstylusがハイライト表示されていて、属性名と属性値が分かりやすいので、これらのオプションはすべて削除して、 を書く必要はありません.
ルール・セット(必ず学び、新しい行の構文に置き換える必要があります) Stylusはcssと同様に、複数のセレクタにカンマを使用して属性 を同時に定義できます.
親参照(必須)
文字&親セレクタの下を指す栗を使用して、textareaとinputは:hover偽類がcolor値''textarea'input'color#A 7 A 7 A 7'&:hover'color#000が''textareaに等しく、'input{'color:#a 7 a 7;'}'textarea:hover,'input:hover
変数#ヘンスウ#属性検索(把握する必要がある)これはすごい機能で、変数に値を割り当てる必要がなくアプリケーション属性を定義することができます(恐れません)、次の典型的な例では、要素の水平垂直中央揃え(典型的な方法はパーセントとmargin負の値を使用する)'#logo'position:absolute'top:50%'left:50%'width:w=150 px'height:h=80 px'margin-left:-(w/2)'margin-top:-(h/2)Stylusの変数を定義し、変数wとhを使用することができます.属性名の前に@文字でタグ付けして取得する属性値`@widthは150 px'#logo'position:absolute'top:50%'left:50%'width:150 px'height:80 px'margin-left:-(@width/2)'margin-top:-(@height/2) に相当する
補間
補間(必須)
Stylusは{}文字囲み式をサポートして値を挿入します.挿入した値は識別子の一部となり、属性補間''vendor(prop,args)'-webkit-{prop}args'-moz-{prop}args'{prop}args'''border-radius('border-radius',arguments)'''box-shadow('box-shadow',arguments)'''button'border-radius 1 px 2 px/3 px 4 px
コンパイル:''button{'-webkit-border-radius:1 px 2 px/3 px 4 px;'-moz-border-radius:1 px 2 px/3 px 4 px;'border-radius:1 px 2 px/3 px 4 px;'}
セレクタ補間(必須)
補間はセレクタでも機能します''table'for row in 1 2 3 4 5'tr:nth-child({row})'height:10 px*row
コンパイル:''table tr:nth-child(1){'height:10 px;'}'table tr:nth-child(2){'height:20 px;'}'table tr:nth-child(3){'height:30 px;'}'table tr:nth-child(4){'height:40 px;'}'table tr:nth-child(5){'height:50 px;'}
演算子(Stylusをより柔軟に使用できるように学ぶ必要があります)
自分で勉強する
かき混ぜて書く(勉強する必要がある)混入 .の方法(必学)はjsのように書くが、括弧を使わなくてもよい.パラメータは、デフォルト値''add(a,b)'a+b'body'padding add(10 px,5)'を''body{'padding:15 px;'} としてレンダリングできます.
演算時、単位が異なる場合は最初の数のパラメータを取って計算しますが、もちろんunitで単位換算を無視することもできます
条件
if、eles if、else、unless(除く)
反復(必修)
反復
''body{'foo:1;'foo:2;'foo:3;'}にコンパイル
かき混ぜて書く
この例は、同じコンポーネントのクラス名が類似しており、属性が類似しているなど、「apply(props)」props=arguments if length(arguments)>1「for prop in props」{prop[0]}prop[1]「body」apply(one 1,two 2,three 3)」「body」list=(one 1)(two 2)(three 3)[apply(list)
インポート(必須)
@importインポートstylファイルとcssファイル@mediaメディアクエリー、cssと同じ
継承(必学)
Stylusの@extend命令はsassの実現に啓発され、基本的にクラス全体を継承することができ、これにより''.message { '' padding: 10px; '' border: 1px solid #eee; '' } '' '' .warning { '' @extend .message; '' color: #E2E21E; '' }
cssがそうならwarning { '' padding: 10px; '' border: 1px solid #eee; '' } '' '' .warning { '' color: #E2E21E; '' }
どんな理由があっても、Stylusが不定の特殊な需要に遭遇した場合は、@cssを使用してCSSの字面量として解決することができます.
セレクタ
インデント構文(必須、必須)
body
color white
ルール・セット(必ず学び、新しい行の構文に置き換える必要があります)
textarea, input
border 1px solid #eee
textarea
input
border 1px solid #eee
: , ,
** :**
親参照(必須)
文字&親セレクタの下を指す栗を使用して、textareaとinputは:hover偽類がcolor値''textarea'input'color#A 7 A 7 A 7'&:hover'color#000が''textareaに等しく、'input{'color:#a 7 a 7;'}'textarea:hover,'input:hover
変数#ヘンスウ#
- ### ( )
** **`( , , , , )` , , js (jiu) (shi) (mo) (fang)
''font-size = 14px
''
'' body
'' font font-size Arial, sans-seri
:
''body {
'' font: 14px Arial, sans-serif;
'' }
補間
補間(必須)
Stylusは{}文字囲み式をサポートして値を挿入します.挿入した値は識別子の一部となり、属性補間''vendor(prop,args)'-webkit-{prop}args'-moz-{prop}args'{prop}args'''border-radius('border-radius',arguments)'''box-shadow('box-shadow',arguments)'''button'border-radius 1 px 2 px/3 px 4 px
コンパイル:''button{'-webkit-border-radius:1 px 2 px/3 px 4 px;'-moz-border-radius:1 px 2 px/3 px 4 px;'border-radius:1 px 2 px/3 px 4 px;'}
セレクタ補間(必須)
補間はセレクタでも機能します''table'for row in 1 2 3 4 5'tr:nth-child({row})'height:10 px*row
コンパイル:''table tr:nth-child(1){'height:10 px;'}'table tr:nth-child(2){'height:20 px;'}'table tr:nth-child(3){'height:30 px;'}'table tr:nth-child(4){'height:40 px;'}'table tr:nth-child(5){'height:50 px;'}
演算子(Stylusをより柔軟に使用できるように学ぶ必要があります)
自分で勉強する
かき混ぜて書く(勉強する必要がある)
(·` css , `) ,
, , , css
演算時、単位が異なる場合は最初の数のパラメータを取って計算しますが、もちろんunitで単位換算を無視することもできます
条件
if、eles if、else、unless(除く)
反復(必修)
反復
''body
'' for num in 1 2 3
'' foo num
''body{'foo:1;'foo:2;'foo:3;'}にコンパイル
かき混ぜて書く
この例は、同じコンポーネントのクラス名が類似しており、属性が類似しているなど、「apply(props)」props=arguments if length(arguments)>1「for prop in props」{prop[0]}prop[1]「body」apply(one 1,two 2,three 3)」「body」list=(one 1)(two 2)(three 3)[apply(list)
インポート(必須)
@importインポートstylファイルとcssファイル@mediaメディアクエリー、cssと同じ
継承(必学)
Stylusの@extend命令はsassの実現に啓発され、基本的にクラス全体を継承することができ、これにより''.message { '' padding: 10px; '' border: 1px solid #eee; '' } '' '' .warning { '' @extend .message; '' color: #E2E21E; '' }
cssがそうならwarning { '' padding: 10px; '' border: 1px solid #eee; '' } '' '' .warning { '' color: #E2E21E; '' }
どんな理由があっても、Stylusが不定の特殊な需要に遭遇した場合は、@cssを使用してCSSの字面量として解決することができます.