このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

関数

記事Jun.28th,2021
CSSの値として使用できるCSSの関数と数学関数について
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

CSSの関数

関数の表記方法

CSSにはいくつもの“関数表記(Functional Notations)”が定義されており、計算などによるより複雑な値や特別な処理を表現することができます。

関数の表記方法は“CSS Syntax Module”で定義されている<function-token>の構文に準拠した関数の名前と左括弧(“(”)、そのあとに続く1個または複数の引数と右括弧(“)”)からなります。左括弧の直後と右括弧の直前にはホワイトスペースの挿入が認められています。

関数によっては複数の引数とることができ、コンマ(“,”)もしくはホワイトスペースで区切って記述します。コンマの直前と直後にはホワイトスペースの挿入が認められています。

div {
color: rgb(50,60,70);
background: url(img/sample.png);
width: max(100% - 20px, 200px);
}

関数には数値形式のデータ型で計算のために使用できる数学関数<url>”値<color>”値などのデータ型として使用できる関数、プロパティごとに定義されている関数があります。また、toggle()”関数はすべてのプロパティの値として使用することができます。

関数の表記方法と数学関数などの一部の関数はCSSの値についての仕様である“CSS Values and Units Module”で定義されていますが、多くの関数は他の仕様で定義されています。

基本的な関数の一覧

関数 説明
url()
src()CSS Values and Units Module Level 4 で追加
toggle()CSS Values and Units Module Level 4 で追加
attr()

数学関数

関数 説明
calc()CSS Values and Units Module Level 3 で追加 加減乗除の計算
min()CSS Values and Units Module Level 4 で追加 最小値を選択
max()CSS Values and Units Module Level 4 で追加 最大値を選択
clamp()CSS Values and Units Module Level 4 で追加 値の範囲を制限
round()CSS Values and Units Module Level 4 で追加 引数を指定した丸め幅で丸める
mod()CSS Values and Units Module Level 4 で追加 引数の剰余
rem()CSS Values and Units Module Level 4 で追加 引数の剰余
sin()CSS Values and Units Module Level 4 で追加 引数の正弦
cos()CSS Values and Units Module Level 4 で追加 引数の余弦
tan()CSS Values and Units Module Level 4 で追加 引数の正接
asin()CSS Values and Units Module Level 4 で追加 引数の逆正弦
acos()CSS Values and Units Module Level 4 で追加 引数の逆余弦
atan()CSS Values and Units Module Level 4 で追加 引数の逆正接
atan2()CSS Values and Units Module Level 4 で追加 2個の引数の逆正接
pow()CSS Values and Units Module Level 4 で追加 引数のべき乗
sqrt()CSS Values and Units Module Level 4 で追加 引数の平方根
hypot()CSS Values and Units Module Level 4 で追加 引数の二乗和の平方根
log()CSS Values and Units Module Level 4 で追加 引数の対数
exp()CSS Values and Units Module Level 4 で追加 eのべき乗
abs()CSS Values and Units Module Level 4 で追加 引数の絶対値
sign()CSS Values and Units Module Level 4 で追加 引数の正負を調べる

仕様書

定義されている仕様書

ほかの関数

関数 説明
rgb() 赤、緑、青の色成分で色を表す
rgba() 赤、緑、青の色成分とアルファ値で色を表す
hsl() 色相、彩度、明度で色を表す
hsla() 色相、彩度、明度、アルファ値で色を表す
hwb() 色相、白色度、黒色度で色を表す
lab()
color()
device-cmyk()

フィルター効果

関数 説明
blur() ガウスぼかしをかける
brightness() 明度を変更する
contrast() コントラストを変更する
drop-shadow() 影をつける
grayscale() グレースケールに変換する
hue-rotate() 色相を変更する
invert() 色を反転させる
opacity() 透明度を変更する
saturate() 彩度を変更する
sepia() セピア調にする

画像

関数 説明
image()
image-set()
cross-fade()
element()

グラデーション関数

関数 説明
linear-gradient()
repeating-linear-gradient()
radial-gradient()
repeating-radial-gradient()
conic-gradient()
repeating-conic-gradient()

フォント

関数 説明
local()
format()
stylistic()
styleset()
character-variant()
swash()
ornaments()
annotation()

グリッドレイアウト

関数 説明
minmax()
repeat()

変形

2D変形関数

関数 説明
matrix() 二次元平面上で要素をアフィン変換する
translate() 二次元平面上で要素を平行移動する
translateX() X軸方向に要素を平行移動する
translateY() Y軸方向に要素を平行移動する
scale() 二次元平面上で要素を拡大もしくは縮小する
scaleX() X軸方向に要素を拡大もしくは縮小する
scaleY() Y軸方向に要素を拡大もしくは縮小する
rotate() 二次元平面上で要素を回転する
skew() 二次元平面上で要素をシアー変換する
skewX() X軸方向に要素をシアー変換する
skewY() Y軸方向に要素をシアー変換する

3D変形関数

関数 説明
matrix3d() 三次元空間内で要素をアフィン変換する
translate3d() 三次元空間内で要素を平行移動する
translateZ() Z軸方向に要素を平行移動する
scale3d() 三次元空間内で要素を拡大もしくは縮小する
scaleZ() Z軸方向に要素を拡大もしくは縮小する
rotate3d() 三次元空間内で要素を回転する
rotateX() X軸を回転軸として要素を回転する
rotateY() Y軸を回転軸として要素を回転する
rotateZ() Z軸を回転軸として要素を回転する
perspective() 要素から視点までの距離を変更する

イージング関数

関数 説明
cubic-bezier() 出力値をベジェ曲線に沿って変化させる
steps() 出力値を階段状に変化させる

幾何学図形

関数 説明
inset()
circle()
ellipse()
polygon()
path()

生成コンテンツ

関数 説明
leader()
target-counter()
target-counters()
target-text()
string()
content()

カウンタースタイル

関数 説明
symbols()
counter()
counters()

その他の関数

関数 説明
env()
fade() フェード効果の幅
fit-content()
paint()
var()
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク