CSSでプログラミング?圧倒的にデザインが便利になる「CSSカスタムプロパティ」入門
演算子を使ってみる
CSSプリプロセッサーや他の言語と同様に、変数に*基本演算子(+, -, , /)を混ぜて使うこともできます。
CSSの場合は「calc()」関数が用意されており、カスタムプロパティーを含めた演算を行います。
.box{
--base-size: 10px;
--indent-xl: calc( 2 * var(—base-size));
--indent-l: calc(var(—base-size) + 2px);
--indent-s: calc(var(—base-size) - 2px);
--indent-xs: calc(var(—base-size) / 2);
}
やっかいなのは、単位をつけるかどうかです。
しかし、単位は次のように「calc()」の中に入れてやることで解決します。
.box{
--space: 10;
padding: var(--space)px 0; // ×
padding: calc(var(--space)*1px) 0; // ○
}
CSSワイドなキーワードにも対応
CSSカスタムプロパティは他のCSSのプロパティと同じルールで働きます。
したがって、CSSワイドな値である「initial」や「unset」なども対応しています。
- initial:初期値を指定値にする
- inherit:継承値を指定値かつ算出値にする
- unset:継承するプロパティについてはinherit、そうでないものにはinitialにする
- revert:ユーザーエージェントのスタイルシートによって決められた初期値にする
これらをCSSで使うと、例えばこのようになります。
.common-values{
--border: inherit;
--bgcolor: initial;
--padding: unset;
--animation: revert;
}
また、コンポーネントを作りたい時に、うっかりして他のスタイルやカスタムプロパティを読み込みたくない場合があります。
通常、そうした場合にはCSSをモジュール化して組み込むのが一般的な解決策でしょう。
しかし、「all」プロパティを使うことで解決することができます。
このプロパティは、CSSプロパティをすべてリセットしたい時に使います。
.all-reset{
all: initial;
}
しかし、残念ながらこの「all」プロパティはCSSカスタムプロパティまではリセットを行いません。
現在、「--」という接頭辞を「all」と同じように使ってカスタムプロパティをリセットできるようにするかどうか、議論が行われています。
最終的には、このようにリセットが行われるようになります。
.all-custom-properties-reset{
--: initial;
}
JavaScriptでカスタムプロパティの値を取得する
CSSカスタムプロパティはDOM操作に対応しているので、JavaScriptを使ってCSSカスタムプロパティの値を取得することができます。
例えば、以下のCSSカスタムプロパティを定義したとしましょう。
:root {
—font-color: #0060e6;
}
JavaScript側では、このように定義します。
var value = document.documentElement.style.getPropertyValue(‘—font-color');
console.log(value);
CSS側でどんな変数が定義されているのかを見に行き、JavaScriptで何かしらの処理を入れられるようになります。
また、値を変更する場合はこのように処理を行います。
document.documentElement.style.setProperty('--key-color', ‘ #006090 ’);
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
おすすめ記事
おすすめエントリー
同じカテゴリから記事を探す
カテゴリから記事をさがす
●Webマーケティング手法
- SEO(検索エンジン最適化)
- Web広告・広告効果測定
- SNSマーケティング
- 動画マーケティング
- メールマーケティング
- コンテンツマーケティング
- BtoBマーケティング
- リサーチ・市場調査
- 広報・PR
- アフィリエイト広告・ASP
●ステップ
●ツール・素材
- CMS・サイト制作
- フォーム作成
- LP制作・LPO
- ABテスト・EFO・CRO
- Web接客・チャットボット
- 動画・映像制作
- アクセス解析
- マーケティングオートメーション(MA)
- メールマーケティング
- データ分析・BI
- CRM(顧客管理)
- SFA(商談管理)
- Web会議
- 営業支援
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング
- フォント
- 素材サイト
●目的・施策
- Google広告
- Facebook広告
- Twitter広告
- Instagram広告
- LINE運用
- LINE広告
- YouTube運用
- YouTube広告
- TikTok広告
- テレビCM
- サイト制作・サイトリニューアル
- LP制作・LPO
- UI
- UX
- オウンドメディア運営
- 記事制作・ライティング
- コピーライティング
- ホワイトペーパー制作
- デザイン
- セミナー・展示会
- 動画・映像制作
- データ分析・BI
- EC・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング