home
twitter
ページトップへ
目次
  • 「max()関数」とは?
  • 関数とは?
  • 「引数」とは?
  • 「max()関数」を使うと何ができる?
  • 引数の中で「最大」のものが採用される
  • プロパティの値にセットすることができる
  • 「max()関数」の使い方!
  • 「,」カンマ区切りで書く
  • 1個以上の引数を取る
  • 計算される
  • ( + ) ( - )( * ) ( / ) の演算子が使える
  • ()括弧が使える
  • min(),clamp()などを含めてもOK!
  • calc()は使わなくていい
  • 順番は何でもOK!
  • 「max()関数」を上手に使うコツ!
  • 「相対的な指定」と「絶対的な指定」の両方を一緒に使う
  • 「最小値」の設定をする感じで使う
  • 相対的な指定をするには?
  • 絶対的な指定をするには?
  • 「max()関数」の使用例!
  • 「font-size」に使う。
  • 「max()関数」と「min()関数」を組み合わせて使う。
  • 「max()関数」を使う上での注意点!
  • 「calc()関数」を使わなくてOK!
  • 絶対指定したものは最小値になる。
  • Webブラウザの対応状況
  • IE(Internet Explorer)では対応していないので注意!
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。
about
categories
page
archive
皇帝ペンギンブログ

2023/12/20 (更新日:2024/07/11)

【CSS】「max()関数」について丁寧に解説。【分かりやすい】

Categories > CSSの基本編
CSSの「max()関数」の使い方を丁寧に教えてほしい。

この記事では「max()関数」の使い方について解説します。

この記事で得られる知識!

  • 「max()関数」とは何か?
  • 「max()関数」の使い方!
  • 「max()関数」を上手に使うコツ!
  • 「max()関数」の使用例!
  • 「max()関数」を使う上での注意点!

この記事を読むことで、これらの知識が得られます。

また、下の動画でも「max()関数」について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

上手く使えば便利な場面もある関数なので、サクッと読んでね!

では、内容へ入っていきますね!

目次
非表示
  • 「max()関数」とは?
  • 関数とは?
  • 「引数」とは?
  • 「max()関数」を使うと何ができる?
  • 引数の中で「最大」のものが採用される
  • プロパティの値にセットすることができる
  • 「max()関数」の使い方!
  • 「,」カンマ区切りで書く
  • 1個以上の引数を取る
  • 計算される
  • ( + ) ( - )( * ) ( / ) の演算子が使える
  • ()括弧が使える
  • min(),clamp()などを含めてもOK!
  • calc()は使わなくていい
  • 順番は何でもOK!
  • 「max()関数」を上手に使うコツ!
  • 「相対的な指定」と「絶対的な指定」の両方を一緒に使う
  • 「最小値」の設定をする感じで使う
  • 相対的な指定をするには?
  • 絶対的な指定をするには?
  • 「max()関数」の使用例!
  • 「font-size」に使う。
  • 「max()関数」と「min()関数」を組み合わせて使う。
  • 「max()関数」を使う上での注意点!
  • 「calc()関数」を使わなくてOK!
  • 絶対指定したものは最小値になる。
  • Webブラウザの対応状況
  • IE(Internet Explorer)では対応していないので注意!
  • 参考リンク。
  • あわせて読みたい記事。
  • まとめ。

「max()関数」とは?

「max()関数」とはCSSに用意されている関数の1つです。

CSSという言語にも関数があります!

関数とは?

関数とは、「値を渡すと」「何か一定の処理をしてくれる」ものです。

例えば、複数の値を渡すと、その中で最小のものを選んで返してくれる、などですね。

「引数」とは?

関数に渡す値のことを「引数」といいます。

これはCSSに限らず他のプログラミング言語でも使われる用語なので知っておいてください!

「max()関数」を使うと何ができる?

p {
  width: max( 40%, 400px );
}

「max()関数」を使うと、引数の中で最大のものをプロパティの値にセットすることができます。

ここで重要なのは下記の2点です。

  • 引数の中で「最大」のものが採用される
  • プロパティの値にセットすることができる
これらについて詳しく、みていきます。

引数の中で「最大」のものが採用される

p {
  width: max( 40%, 400px );
}

上の例では、「40%」と「400px」が引数として渡されています。

その2つが比べられ「最大」のものが採用されます。

プロパティの値にセットすることができる

p {
  width: max( 40%, 400px );
}

上の例では、「width」プロパティに値をセットする感じで使っています。

そのような位置で「max()関数」は使います。

「max()関数」の使い方!

それでは「max()関数」の使い方のポイントは下記の通りです!

「max()関数」の使い方!

  • 「,」カンマ区切りで書く
  • 1個以上の引数を取る
  • 計算される
  • ( + ) ( – )( * ) ( / ) の演算子が使える
  • ()括弧が使える
  • min()、clamp()が使える
  • calc()は使わなくていい
  • 順番は何でもOK
では一つ一つ丁寧に解説していきます!

「,」カンマ区切りで書く

p {
  width: max( 40%, 400px );
}

「,」カンマで区切って複数の値を書けます。

1個以上の引数を取る

p {
  width: max( 40%, 400px, 30vh );
}

1個以上の引数を渡してあげればOKです!3個でも4個でも。

その中で最大のものが採用されます。

計算される

p {
  width: max( 40%, 400px + 3vh );
}

引数には計算式が使えます。そのまま計算式を書いてあげればOKです!

( + ) ( – )( * ) ( / ) の演算子が使える

p {
  width: max( 40%, 400px * 1vh / 2 );
}

使える演算子!

  • 「+」加算
  • 「-」減算
  • 「*」乗算
  • 「/」除算

これらの演算が使えます。

()括弧が使える

p {
  width: max( 40%, ( 30% + 30px ) * ( 1vh + 2px ) );
}

()括弧を使うこともできます。括弧の中が先に計算されます。

min(),clamp()などを含めてもOK!

p {
  width: max( 500px, min(60%, 90vh) );
}

「max()関数」の中には「min()関数」「clamp()関数」を含めて書くことができます!

calc()は使わなくていい

p {
  width: max( 40%, calc(36% + 3vh) ); ✖
  width: max( 40%, 36% + 3vh );  〇
}

「calc()関数」を使わなくても、計算されるのでそのまま「計算式」を書いてあげればOKです。

順番は何でもOK!

p {
  width: max( 400px, 40% );
  width: max( 40%, 400px );
}

この2行は同じ意味になります。

複数の値の中から単純に最大の値が採用されるので、順番は入れ替えてもOKです。

「max()関数」を上手に使うコツ!

「max()関数」を上手に使うコツとしては下記が挙げられます。

「max()関数」を上手に使うコツ!

  • 「相対的な指定」と「絶対的な指定」の両方を一緒に使う
  • 「最小値」の設定をする感じで使う
では個別に書いていきますね!

「相対的な指定」と「絶対的な指定」の両方を一緒に使う

.box {
  width: max( 40%, 400px );
}

「max()関数」を上手に使うには「相対的な指定」と「絶対的な指定」の両方を一緒に使うといいです。

上の例では片方は「%」を使った相対的な指定で、もう片方は「px」を使った絶対的な指定になっていると思います。

こうすることで、画面幅などによって「相対的な指定」の方は変化していきます。そして、「絶対的な指定」を超えるかどうかで採用される値が変わる、という感じになりいい感じです。

「最小値」の設定をする感じで使う

.box {
  width: max( 40%, 400px );
}

「max()関数」という名前なのに最小値?と思うかもしれませんが、使い方としては最小値の指定をする感じで使います。

基本は「40%」などが使われて、「400px」などのもう一つの値よりも小さくなる場合はその「400px」が使われる、と言う感じなので、ここで絶対的な指定をしている「400px」というのは「最小値」になります。

相対的な指定をするには?

相対的な指定をするには下記の単位を使えばOKです。

  • 「%」
  • 「vw」
  • 「vh」
  • 「em」
  • 「rem」

これらの単位の使い方については、僕の下記の記事でしています!

【CSS】Webサイト制作でよく使う単位について解説。【px,%,em,rem,vw,vh】

関連記事

絶対的な指定をするには?

絶対的な指定をするには「px」を使って指定すればOKですね!

「max()関数」の使い方が分かってきた!分かりやすい!

「max()関数」の使用例!

ここでは「シンプルな使用例」と「上手い使用例」の2つを紹介します。

やったー!

「font-size」に使う。

p {
  font-size: max( 3vw, 16px );
}

基本的に画面幅に合わせてフォントサイズを変化させるために「3vw」が使われて、それが「16px」よりも小さくなるタイミングで「16px」が使われ始めます。

なので最小でも「16px」のフォントサイズを確保して、あとは画面幅に合わせてフォントサイズを大きくする、みたいな使用例ですね。

こんな感じで「max()関数」はレスポンシブ対応する際に便利ですね。

「max()関数」と「min()関数」を組み合わせて使う。

p {
  font-size: max( min( 3vw, 30px ), 16px );
}

上の例では、「max()関数」の中に「min()関数」を入れています。

こうすることで、フォントサイズは「16px~30x」の範囲で画面幅に合わせて変動します。

こうすることで極端に「大きくなりすぎず」「小さくなりすぎない」という柔軟な指定が可能です。

おお!これは便利だね。

「min()関数」については僕の下記の記事で解説しています!

【CSS】「min()関数」について丁寧に解説。【分かりやすい】

関連記事

「max()関数」を使う上での注意点!

「max()関数」を使う上での注意点についても書いておこうと思います!

気をつけてね!

「calc()関数」を使わなくてOK!

p {
  width: max( 400px, 40% + 30px );
}

このように「calc()関数」を使わなくても、計算されるのでそのまま「計算式」を書いてあげればOKです。

絶対指定したものは最小値になる。

.box {
  width: max( 40%, 400px );
}

先ほども書きましたがリマインドです。

上の例で「400px」という絶対的な指定がありますが、これが「最小値」になります。

Webブラウザの対応状況

「Can I use」というサイトでWebブラウザの対応状況を調べてみた。

引用元:https://caniuse.com/?search=max()

ブラウザの対応状況を調べるには、「Can I use」というWebサイトを参照するといいと思います。

「max()関数」は、主要ブラウザでは対応しているようなので、安心して使って大丈夫だと思いますね。

最新の情報は、上記のリンクから「Can I use」へアクセスして確かめてみてください。

IE(Internet Explorer)では対応していないので注意!

「max()関数」は「Internet Explorer」というWebブラウザには対応していないようです。

2022 年 6 月 16 日(日本時間)をもって、Internet Explorer のサポートが終了しました。現在も当該ソフトウェア製品を利用している場合は、速やかにサポートが継続しているブラウザへ移行し、IE コンテンツを改修してください。
引用元:IPA 独立行政法人 情報処理推進機構

Microsoft 社 Internet Explorer のサポート終了について

とはいえ「IE」はもう既に開発元である「Microsoft 社」にサポートされていないので、「max()関数」は使っても大丈夫だと個人的に思います。「IE」になんとしても対応しなければならない理由がある方は別ですけどね。

参考リンク。

仕様書。
https://drafts.csswg.org/css-values/#funcdef-max

MDN。
https://developer.mozilla.org/ja/docs/Web/CSS/max

Can I use
https://caniuse.com/?search=max()

あわせて読みたい記事。

【CSS】Webサイト制作でよく使う単位について解説。【px,%,em,rem,vw,vh】

関連記事

【CSS】異なる単位の値の計算をする方法!【calc()関数】

関連記事

大学生が夏休みにweb制作で13万円稼ぐまでにやったこと。【経験談】

関連記事

まとめ。

「max()関数」とはCSSに用意されている関数の1つ。

「max()関数」を使うと、引数の中で最大のものをプロパティの値にセットすることができる。

引数は「,」カンマ区切りで書く。

1個以上の引数を取ることができる。3個でも4個でも。

値は計算される。

使える演算子は下記の通り。

使える演算子!

  • 「+」加算
  • 「-」減算
  • 「*」乗算
  • 「/」除算

()括弧も使える。

そして、min(),clamp()などを含めてもOK!

calc()は使わなくていい。

値を書く順番は何でもOK!

「max()関数」を上手に使うコツとしては下記が挙げられる。

「max()関数」を上手に使うコツ!

  • 「相対的な指定」と「絶対的な指定」の両方を一緒に使う
  • 「最小値」の設定をする感じで使う

「max()関数」と「min()関数」を組み合わせて使うという、上手い使い方がある。

また、「max()関数」は、主要ブラウザでは対応しているようなので、安心して使って大丈夫だと思う。

だけど、IE(Internet Explorer)では対応していないので注意!

こんな感じですかね。
また、下の動画でも「max()関数」について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!
それではこんな感じでこの記事を終わります!

ではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.