コーディング初心者こそ知っておきたい便利な「CSS関数」5選
HTMLやCSSでホームページのデザインを行うことを、一般的には「プログラミング」とは言わずに「コーディング」と言います。
論理的なバックエンドでの実行処理を考えるプログラミングとは違い、HTMLやCSSは「見え方」や「見た目」の部分に責任を持つことが多く、コードによって「組み立てる」イメージからそのように呼ぶのでしょう。
しかしながら、CSSは通常プロパティと値をセットで指定していきますが、*「CSS関数」*と呼ばれる便利な関数も用意されています。
これらの関数を使うことで、計算を実行したり、条件を指定したり、特定の値を別のフォーマットに変形したりすることができます。
そこで本稿では、*コーディング初心者こそ知っておきたい便利な「CSS関数」*を5つ紹介していきます。
普段業務などであまりCSS関数を活用していない方にこそ、CSS関数のよさを知って、使えそうな場面でぜひ活用していただきたいです。
コーディング初心者こそ知っておきたい便利な「CSS関数」5選
1. calc()
calc関数はカッコ内の値を計算することができる関数です。
単に計算することができるだけでなく、%やvh、pxといった異なる単位も計算対象になるので、意外と重宝するのではないでしょうか。
.box {
width: calc(100% - 60px);
margin-left: 40px;
}
2. counter()
counter関数は要素を数えることができるもので、例えばリスト要素などで効力を発揮します。
以下のようなHTMLを考えてみましょう。
<ol>
<li>池袋で山手線に乗る</li>
<li>渋谷で東急東横線に乗り換え</li>
<li>自由が丘で下車する</li>
</ol>
スタイルシートを指定していなければ、以下のように出力されます。
1. 池袋で山手線に乗る
2. 渋谷で東急東横線に乗り換え
3. 自由が丘で下車する
一方、以下のようなスタイルシートを適用してみましょう。
body {
counter-reset: i;
}
li:before {
counter-increment: i;
content: “手順” counter(i) “:”;
}
すると、以下のようになります。
手順1. 池袋で山手線に乗る
手順2. 渋谷で東急東横線に乗り換え
手順3. 自由が丘で下車する
3. attr()
attr関数は、要素内の値を展開するための関数です。
HTML5では、「data-」で始まるカスタム属性が使用できるので、attr関数はカスタム属性と一緒に用いられることも多いようです。
例えば、以下のようなHTMLがあるとします。
<li data-label=“ToDo:”>池袋で山手線に乗る</li>
ここに、CSSで以下のような指定をしてみましょう。
li::before {
content: attr(data-label);
}
すると、リストの各表示の前に「data-label」で指定したものが表示されるようになります。
ToDo: 池袋で山手線に乗る
上記の例では、JavaScriptやjQueryのDOM操作などで「data-label」の内容を書き換えることもできるので、Webアプリケーションなどで活躍するでしょう。
jQueryでは、ツールチップに表示する内容を「data-label」に入れて表示するように実装することもあります。
5. minmax()
minmax関数は値に数字やキーワードを使って、要素の最小値と最大値を指定していきます。
CSSグリッドレイアウトと一緒に用いることで、簡単なCSSで高度なレスポンシブデザイン対応のレイアウトを作成することができます。
まず、使い方ですが、以下のように最小値と最大値をコンテンツ幅に指定するだけです。
minmax(min, max)
画像引用元:How the minmax Function Works
コンテンツグリッドなどでは、以下のように最大値や最小値を指定してあげることで、レスポンシブの挙動を制御することができます。
.grid {
display: grid;
grid-template-columns: minmax(100px, 200px) 1fr 1fr;
}
How the minmax() Function Works
6. cubic-bezier()
cubic-bezier関数はやや応用的な関数ですが、ここで紹介しておきます。
近年、WebサイトやWebアプリケーションにおいては、アニメーションを効果的に使用することが一般的になってきました。
しかし、「linear」や「ease-in」など、簡単に使えるようなプロパティオプションはある程度固定されており、オブジェクトをより自分の思い通りに扱うには別の方法を取らなければいけません。
また、バウンスのように複雑なアニメーションを表現するにはJavaScriptのアニメーションライブラリーなどを使う必要があります。
しかし、cubic-bezier関数を使うことで、自分でアニメーションの動かし方を決めることができます。
cubic-bezier関数は、その名の通りアニメーションの軌跡をベジェ曲線のようにして動かして行く方法で、以下の4つのバラメーターを0から1の間で指定していきます。
transition: cubic-bezier(P1x,P1y,P2x,P2y)
例えば、4点にPの座標を取るときには、以下の図のようになります。
画像引用元:Understanding CSS Bezier
ポイントは、すべての値は0から1の間で値を指定することと、P0とP3は値がすでに決まっていることです。
P0は常に(0,0)、P3は常に(1,1)なので、実質的にP1とP2の値を決めることになります。
画像引用元:CSS cubic-bezier Builder
ただし、数学的なことを考えるのが面倒に感じる場合には、CSS cubic-bezier Builderのように自動でベジェ曲線の値を決めてくれるツールもあるので、こちらを利用してもよさそうです。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- ページ
- 印刷物のカタログやパンフレットは、通常複数のページから成り立っています。インターネットのホームページもまったく同じで、テーマや内容ごとにそれぞれの画面が作られています。この画面のことを、インターネットでも「ページ」と呼んでいます。ホームページは、多くの場合、複数ページから成り立っています。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- HTML
- HTMLとは、Webページを記述するための言語です。"HyperText Markup Language "の略です。"<"と">"にはさまれたさまざまな種類の「タグ」によって、文章の構造や表現方法を指定することができます。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- JavaScript
- JavaScript(ジャバスクリプト)とは、Webサイト上でさまざまなインタラクティブな動きを実現するために用いられる言語
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- CS
- CSとはCustomer Satisfactionの略称で「顧客満足度」を意味します。顧客との関係維持、サービスの発展に関するマーケティング戦略に関わる用語です。
- レイアウト
- レイアウトとは、もともと「配置」や「配列」を指す語です。ここでは、「ホームページレイアウト(ウェブレイアウト)」と呼ばれる、ホームページにおけるレイアウトについて説明します。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- コンテンツ
- コンテンツ(content)とは、日本語に直訳すると「中身」のことです。インターネットでは、ホームページ内の文章や画像、動画や音声などを指します。ホームページがメディアとして重要視されている現在、その内容やクオリティは非常に重要だと言えるでしょう。 なお、かつてはCD-ROMなどのディスクメディアに記録する内容をコンテンツと呼んでいました。
- Webサイト
- Webサイトとは、インターネットの標準的な情報提供システムであるWWW(ワールドワイドウェブ)で公開される、Webページ(インターネット上にある1ページ1ページ)の集まりのことです。
- アプリ
- アプリとは、アプリケーション・ソフトの略で、もとはパソコンの(エクセル・ワード等)作業に必要なソフトウェア全般を指す言葉でした。 スマートフォンの普及により、スマートフォン上に表示されているアイコン(メール・ゲーム・カレンダー等)のことをアプリと呼ぶことが主流になりました。
- 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・通販・ネットショップ
- 口コミ分析・ソーシャルリスニング