プロパティについて
#
概要
初期値 | “aspect-ratio: auto;” |
適用対象 | インライン・ボックス、ルビ内部ボックスおよびテーブル内部ボックスを除くすべての要素 |
継承 | No |
パーセント値 | パーセント値は指定できません |
計算値 | 指定したキーワードもしくは数値の組 |
アニメーション | 計算値 |
“aspect-ratio”プロパティはボックスの大きさの好ましいアスペクト比、横縦比を指定するプロパティです。
ボックスの横幅と高さのどちらかが指定されている場合、その大きさをもとに“aspect-ratio”プロパティの値を使用して残る一方の大きさを算出します。
画像などの置換要素には多くの場合自然アスペクト比があり、横幅と高さの片方だけを指定した時にもう一方の大きさをその比率をもとに算出することができますが、“aspect-ratio”プロパティを使用することで自然アスペクト比を持たない要素でも横幅と高さの比率を指定することができます。
“aspect-ratio”プロパティはボックスに指定された好ましい横幅と高さには影響を与えません。そのため、“width”プロパティと“height”プロパティの値がいずれも“auto”でない場合には“aspect-ratio”プロパティは意味を持ちません。
サンプルコード
#
値
値 | 説明 |
---|---|
auto | 自然アスペクト比を持つ置換要素である場合はその比率が好ましいアスペクト比、そうでなければ好ましいアスペクト比はありません (サイズの計算は常にコンテント・ボックスの寸法をもとに行います。) |
<ratio> | ボックスの好ましい横縦比を指定します (サイズの計算は“box-sizing”プロパティで指定されたボックスの寸法をもとに行います。) |
auto <ratio> | 自然アスペクト比を持つ置換要素である場合はその比率が好ましいアスペクト比、そうでなければ指定された“<ratio>”値を好ましいアスペクト比とします (サイズの計算は常にコンテント・ボックスの寸法をもとに行います。) |
共通キーワード |
値として指定された“<ratio>”値が退化的比率である場合には“auto”とみなされます。
“auto”と“<ratio>”値を両方指定する場合は記述する順番は自由です。
#
使用例
#
#
好ましいアスペクト比を指定する
div {
aspect-ratio: 3/1;
width: 25%;
}
ナギコは「猫は上のかぎり黒くてことはみな白き」とも記していた。つまり彼女はおなかが白くて背中が黒い猫が一番良いと言っているのだ。これに対してAngelinaは「The Calico cat is the ultimate type of cat」だと言った。それにعَاتِكَةは「أنا أحب القطط البيضاء أكثر من غيرها」だと言う。しかし私は1000年以上も前にナギコが書き残した意見に賛同したい。
div {
aspect-ratio: 1;
width: 25%;
}
ナギコは「猫は上のかぎり黒くてことはみな白き」とも記していた。つまり彼女はおなかが白くて背中が黒い猫が一番良いと言っているのだ。これに対してAngelinaは「The Calico cat is the ultimate type of cat」だと言った。それにعَاتِكَةは「أنا أحب القطط البيضاء أكثر من غيرها」だと言う。しかし私は1000年以上も前にナギコが書き残した意見に賛同したい。
値として“<ratio>”値のみを指定した時、要素が自然アスペクト比を持つ場合でも“<ratio>”値で指定された横縦比で描画されます。
img {
aspect-ratio: 1;
width: 25%;
}
div {
aspect-ratio: auto 1;
width: 25%;
}
ナギコは「猫は上のかぎり黒くてことはみな白き」とも記していた。つまり彼女はおなかが白くて背中が黒い猫が一番良いと言っているのだ。これに対してAngelinaは「The Calico cat is the ultimate type of cat」だと言った。それにعَاتِكَةは「أنا أحب القطط البيضاء أكثر من غيرها」だと言う。しかし私は1000年以上も前にナギコが書き残した意見に賛同したい。
値として“<ratio>”値と“auto”の両方を指定した時、一般的な画像などの自然アスペクト比を持つ置換要素である場合は“<ratio>”値は無視されて“auto”とみなされます。
img {
aspect-ratio: auto 1;
width: 25%;
}