本記事では、SCSSの関数(@function)の使い方について解説しています。実際に関数をしようしたサンプルコードも用意しているので、使いどころについても理解できると思います。
HTML/CSSの学習におすすめ参考書
1冊ですべて身につくHTML&CSSとWebデザイン入門講座
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
後輩ちゃん
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
関数(@function)の使い方
SCSSで関数を使用したい場合は、@function/@returnを使用します。基本的な使い方は以下のとおりです。
// 関数を定義
@function fn($argument) {
@return // 値を返す
}
// 関数を呼び出す
.example{
color: fn(#f00);
}
構文解説
- fn:任意の関数名を指定
- $argument:引数の名前を指定(引数は複数設定することも可能)
- @return:渡された引数などを使用して計算結果を返す
実際に、@function/@returnを使用したサンプルコードを用意したので動作確認してみましょう。関数は主に引数で渡された値を計算(加工)し返したい時に使用されるので、今回のサンプルコードの内容は引数にpxの値を指定することで、自動でvwの値を計算し返す関数を作成します。
例(デザインカンプの横幅)
- PC:1366px
- SP:750px
@function pcvw($px, $standardWidth: 1366) {
@return ($px / $standardWidth) * 100vw;
}
@function spvw($px, $standardWidth: 750) {
@return ($px / $standardWidth) * 100vw;
}
.sample {
font-size: pcvw(30);
}
@media screen and(max-width:768px) {
.sample {
font-size: spvw(20);
}
}
.sample {
font-size: 2.19619vw;
}
@media screen and (max-width: 768px) {
.sample {
font-size: 2.66667vw;
}
}