Sass | Ruby on Rails

 Sassとは

CSSは、Webページの見た目を整える言語ですが、SassはCSSをより効率的に書くことが出来ます。

ファイルの拡張子は、".scss"と".sass"に分かれますが一般的に使われているのは、".scss"です。

この記事では、".scss"のSassファイルについて説明していきます。

読み込ませる方法

Rails3.1以降からは、デフォルトでSassを使うための機能が整っているので、sassファイルを作成すればRailsが自動的に読み込んでくれます。

特徴をいくつか紹介します

@importで他のSassファイルを読み込める

app > assets > stylesheets > application.scss

@import "sasses";

これにより、「sasses.scss」が読み込まれます。 

親子構造を持つ

app > assets > stylesheets > sasses.scss

main {
height: 100px;
width: 100px;
background-color: gray;
margin: 250px 650px;
h1 {
color: blue;
text-align: center;
padding: 35px 0;
}
}

 mainの子供がh1というように、親子関係を表現することが出来ます。

HTMLの構造が分かるので、便利です。

変数が使える

$main-color: gray;

 変数を定義して

 background-color: $main-color;

定義した変数を使うことができます。

 

例えば、画面幅に応じて適応させるcssを変えたいという場合

$media: 1024px;

 このようにブレイクポイントを変数として定義しておけば、 

 margin: 100px 400px;
 @media screen and (max-width:$media) {
  margin: 100px 200px;
}

 「1024pxまでは、左右の外枠を200pxにする」というように、レスポンシブデザインをすることができます。

 

ちなみに、1024pxはiPad Proの画面幅です。(Chromeの要素の検証を参照)

f:id:khirok:20200124125318p:plain

アンパサンド(&)が使える

.main-box {
height: 100px;
width: 100px;
background-color: whitesmoke;
margin: 150px auto;
border: 1px solid black;
text-align: center;
&__title {
font-size: 20px;
margin: 10px 0;
}
 
}

 

「 .main-box__title」というクラス名は、アンパサンドを用いて、「&__title」と表現できます。

 

以上。

簡単ですが、Sassについて書きました。

 

また気が向いたら加筆していくつもりです。 

 

参考にしたサイト

【CSS】Sassは絶対使った方が良いよ!使い方入門編

RailsでSass(SCSS)を使う方法