CSSの関数はどんどん便利になっている!minmax()を使うとMedia Queries無しでレスポンシブが簡単に実装できる

CSSの関数には便利なものがたくさんあります。例えば、div要素に「width: calc(100% - 50px);」と指定することで、幅いっぱいから50pxを引いた値を幅に適用できます。

minmax()関数はcalc()関数のように数字やキーワードを使って、要素の最小値と最大値を指定でき、簡単なCSSの記述でレスポンシブ対応の高度なレイアウトを作成できます。

下記のレスポンシブ対応のグリッドはたった2行のCSSで、プロパティも2つだけです。

Media Queries無しでレスポンシブ デザインが実装できる

How the minmax() Function Works






minmax()使

minmax()使Media Queries



minmax()使


CSS Grid Layout便1minmax()CSS

minmax()
minmax(min, max)



6


Lengthpx

Percentage%

Flexible Lengthfr

max-content

min-content

auto



Length


minmax()使31
シンプルなグリッド

3つのセル

minmax()を使用して、イエローのセルの幅が100pxから200pxまでに指定できます。

ビューポートのサイズを変更

ビューポートのサイズを変更

ビューポートのサイズが変更されると、イエローのセルは常にこの2つの制限内で変更されます。2番目と3番目のセルは残りの空きスペースを均等に占め、最初のセルは常に100px〜200pxの幅です。

Percentage

基本的な長さの指定に加えて、minmax()ではパーセントの単位も指定できます。例えば、イエローのセルがグリッドの最大50%を占めるけど、200pxより小さくならないようにしたいとします。

ビューポートのサイズを変更



200px50%

Flexible Length


Flexible Lengthminmax()CSS Grid Layoutfr使2100px120px11fr100-20=80px180px
frminmax()使


200px1fr2

ビューポートのサイズを変更

ビューポートのサイズを変更

すべてのセルはビューポートサイズが大きい場合は1frになるので、グリッド内の同じ量のスペースを共有します。

max-content

キーワードで利用できるmax-contentは、セルの「理想的なサイズ」を表す特殊な値です。セルが可能な最小サイズでありながら、コンテンツの周りに目立たないようにフィットします。例えば、セルのコンテンツがテキストの場合、セルの理想的な幅は長さおよび改行なしにかかわらず、テキストの全長を占めることになります。

イエローのセルにmax-contentを最小値と最大値に指定してみます。

ビューポートのサイズを変更



max-content

min-content


min-contentmax-content

max-contentmax-content使min-contentminmax()

ビューポートのサイズを変更




auto


autominmax()使

使automax-content使automin-contentmin-width/min-height

autominmax()

ビューポートのサイズを変更

ビューポートのサイズを変更

minmax()を使うと、Media Queries無しでレスポンシブデザインができる

ここまで見てきたように、minmax()を使用するのが便利なレイアウトがたくさんあります。しかし、minmaxがもっと最適な場合があります。それはMedia Queries無しでレスポンシブデザインができるということです。

さっそくその例を見てみましょう。

ビューポートのサイズを変更

ビューポートのサイズを変更

グリッド内の各カラムの最小幅は200pxです。ビューポートのサイズが変更されると、カラムの数は理想的な幅に合わせて変更されます。
このグリッドはCSS Gridとminmax()を使うと、わずか2行のCSSで作成できます。



minmax()2




repeat()

2





auto-fit

repeat()使使




auto-fitrepeat()使


IE, Edge-ms-
サイトのキャプチャ

CSS Grid Layoutの各ブラウザのサポート状況

サイトのキャプチャ

How the minmax() Function Works

sponsors

top of page

©2024 coliss