LoginSignup
1
1

More than 3 years have passed since last update.

【2日目】Clamp関数をホームページ制作に使った件

Posted at

clamp関数は、編集者草案の段階のCSSです
◎編集者草案とは?
clamp関数のMDNから「CSS Values and Units Module Level 4」を自分なりに確認したところ、
以下翻訳にかけて抜粋

編集者の下書きの公開コピー
いつでも変更される可能性があります。

らしいので使用するのは注意が必要そうです。

今回はあくまで社内向けサイト制作だったのでclampを使ってみました。

使い方

font-size、width、margin/paddingなどで使うことができます。

h1 {font-size:clamp(14px,0.83vw,20px)}
デザインは1920px、h1は16pxで作成されているケース:
1つめの数値が最小値、2つめが基準値、3つめが最大値です。
基本→画面幅に対して0.83vwの大きさで表示する。
画面幅を縮小した時→14pxを下回る場合は14pxで固定。
画面幅を広げた時→その逆で20pxで固定する仕組みです。

たった一行で最大値/最小値を設定できるのは便利ですよね!

対応ブラウザ

下記はCalmp関数が、実際に動くことを確認しています。
Mac(Safari)
Windows(firefox/Edge(chromium)/Chrome)※全て最新
※2020年7月段階の最新version

Can I use...
https://caniuse.com/#feat=css-math-functions

似た関数 max関数とmin関数

結論からいうとSCSSでこの2つの関数は使えませんでした。。
is not a number for max というエラーが出てコンパイルができないのです。
なので私の場合は、clamp関数で最大値もしくは最小値を適当に設定して対応しました。

また、もちろんIEではclamp関数は動かないので
使用する場合は、

    padding-left: 6.25%;
    padding-right: 6.25%;
    padding-left: clamp(80px, 6.25vw, 120px);
    padding-right: clamp(80px, 6.25vw, 120px);

というようにフォールバックしておけばIEでは6.25%を読み込んでくれます。

まだまだ調べきれていないことがありそうですが
ひとまずこんなのがあるんだなとだけ覚えとこうと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1