何をするの?👒
CSSでオブジェクトを透過したいときに、
opacity-85
みたいな感じで Bootstrap
ライクに指定したかったので
SCSS
を使って追加しちゃいます
SCSS の記述🌵
SCSS
ファイルに以下の記述を追加するだけで、
opacity-0
= 0% (透過) から opacity-100
= 100% (非透過) まで全ての透過度を可変で CSSセレクタ
としてつかうことができます
opacity.scss
@for $i from 0 through 100 {
.opacity-#{$i} {opacity: $i * 0.01;}
}
some.erb.html
<div class="opacity-62">
# 62%の透過になる
</div>
ファイルとして実装する方法(おまけ)
アセットパイプラインで実装する場合 🐩
application.scss
▶ opacity.scss
の順にロードされるように配置する
/app/assets/stylesheets/application.scss
*= require_tree .
// もしくは
*= require_tree opacity
/app/assets/stylesheets/opacity.scss
@for $i from 0 through 100 {
.opacity-#{$i} {opacity: $i * 0.01;}
}
webpacker で実装する場合 🐰
application.js
▶ application.scss
▶ opacity.scss
の順にロードされるように配置する
追加位置はいずれも後ろの方でOK
/app/javascript/packs/application.js
import "../stylesheets/application";
/app/javascript/stylesheets/application.scss
@import "opacity";
/app/javascript/stylesheets/opacity.scss
@for $i from 0 through 100 {
.opacity-#{$i} {opacity: $i * 0.01;}
}
CSS も量が多くなったら別ファイルに分けると、見通しが良いですね🐈