投稿日
CSSカスタムプロパティをグリグリ動かせる「slideVars」が便利
Webデザインの勉強や実験をしているとき、色や余白を微調整しながら試行錯誤すること、ありますよね。そのたびにCSSの数値を書き換えて、プレビューが更新されるのを待って…というのは、正直ちょっと面倒だったりします。今回は、そんな悩みを解決してくれる「slideVars」というライブラリを紹介します!これを使うと、CSSカスタムプロパティをブラウザー上で直接いじれるコントローラーが自動で生成されますよ!
slideVarsとは
slideVarsはCSSのカスタムプロパティ(変数)を操作するためのUIを、自動で作ってくれるライブラリーです。CSSカスタムプロパティについては過去記事「CSSで変数(カスタムプロパティ)を使ってみよう」を読んでみてください!
通常CSSカスタムプロパティの値を変更するにはコードを書き換える必要がありますが、slideVarsを導入すると、画面上にスライダーやカラーピッカーが出現します。これを動かすだけで、リアルタイムにデザインが変化するようになります。
自動検出機能
一番の魅力は、設定がほぼ不要な自動検出機能です。
:root に定義されているCSSカスタムプロパティを自動でスキャンして、以下のことをやってくれます。
色を検知してカラーピッカーを作成
hex (#ffffff), rgb, hsl はもちろん、最新の oklch や hwb、名前付きカラー(red, blueなど)も認識します。
数値を検知してスライダーを作成
px, rem, em, % などの単位が付いた数値を認識し、いい感じの範囲でスライダーを作ってくれます。
よく分からない値はスキップ
解釈できないものは無視してくれるので、エラーで止まる心配も少ないです。
slideVarsの使い方
では、実際にWebサイト制作の実験場である「CodePen」を使って試してみましょう。
1. 読み込みと初期化
CodePenのJS(JavaScript)欄に、以下のコードを書くだけです。
// ライブラリを読み込む(esm.shというCDN経由で読み込みます)
import { slideVars } from "https://esm.sh/@codepen/slidevars";
// 初期化(これだけでOK!)
slideVars.init();
2. CSS変数を定義する
次にCSS欄でカスタムプロパティを定義します。ここでは背景色を変数にしてみましょう。
:root {
--bg: #00bbdd; /* これが自動で検知されます */
}
body {
background: var(--bg);
}
たったこれだけで、画面の右上に設定用のアイコンが出現します!それをいじると、背景色がリアルタイムに変わっていきます。
デモ。いい感じに背景色が変化していくはずです!
複数の変数を試してみる
複数指定するときは、CSSの :root に複数のカスタムプロパティを記述するだけ。slideVarsが自動的に色用のピッカーとサイズ用のスライダーを生成してくれます。
:root {
--bg: #00bbdd;
--size: 200px;
}
p {
background: var(--bg);
width: var(--size);
padding: 1rem;
}
デモ。画面右上から設定パネルを開くと、カスタマイズできる値が増えています。
細かい設定
自動検出は便利ですが、時にはスライダーの最大値をもっと大きくしたいとか、特定の要素だけに適用したいという場合もありますよね。そんなときは、init() の中に設定を書くことで細かくコントロールできます。
import { slideVars } from "https://esm.sh/@codepen/slidevars";
slideVars.init(
{
// --width という変数に対する設定
"--width": {
type: "slider", // タイプ:現在は slider か color のみ
min: 10, // 最小値
max: 500, // 最大値
default: 50, // 初期値
unit: "px", // 単位
scope: "#animation", // 特定の要素(IDなど)の中だけで有効にする場合
},
// --bg という変数に対する設定
"--bg": {
type: "color",
default: "red",
},
},
{
defaultOpen: false, // trueにすると、読み込み時に最初からパネルが開いた状態になります
}
);コントローラーパネルの見た目を変える
デフォルトでは、画面の隅に自動的にパネルが生成されますが、HTML内に自分で配置場所を指定することも可能です。これをやると、パネルにタイトルをつけたり説明文を追加したりできるので、作品を見せる時に親切かもしれません。
<slide-vars>
<h2>デザイン調整パネル</h2>
<p>下のスライダーを動かして、好みの見た目を探してみてね!</p>
</slide-vars>ローカル環境で使う場合
CodePenだけでなく、自分のPCで開発しているプロジェクト(ViteやWebpackなど)でも使えます。まず、 npm でインストールします。
npm install @codepen/slidevarsあとはslideVarsを読み込んで、実行するだけです。
import { slideVars } from "@codepen/slidevars";
slideVars.init();これだけで開発中のローカルサーバーでもグリグリ動くUIを実装できます。クライアントに向けて、または勉強会などでプレゼンしながら、見た目をサッとその場で変えて見せたら「おおっ!」となるかも…!
プログラミングやデザインの学習において、「自分で値を変更して、どうなるか確認する」というプロセスは本当に大切です。このツールを使えば、そのプロセスが遊び感覚で体験できますね。ぜひ次回のCodePenでの作品作りや、日々のコーディングの練習に取り入れてみてください!