【CSS】@media - スタイルの適用条件
CSSの@ルールの1つ、@mediaについてご紹介します。
@media
@mediaはスタイルの適用条件を定義します。
ディスプレイやブラウザのサイズによって、適用するスタイルを変えることができます。
デスクトップやスマートフォンなどで様々なデバイスにレイアウトを対応するために利用します。
基本構文
@media 条件 {
スタイル
}
条件の部分にはメディアタイプやメディア特性などを指定することができ、またそれらを組み合わせることも可能です。
メディアタイプ
メディアタイプはディスプレイや印刷などの出力先を指定します。
@media タイプ {
スタイル
}
主なタイプは以下です。
タイプ | 意味 |
---|---|
screen | ディスプレイ |
印刷 |
<style>
@media screen {
p {
color: red;
}
}
</style>
<p>TEXT TEXT TEXT TEXT</p>
メディア特性
メディア特性は特性を指定します。
@media (特性名: 値) {
スタイル
}
主な特性は以下です。
特性 | 意味 |
---|---|
min-width | ブラウザの横幅が値以上 |
max-width | ブラウザの横幅が値以下 |
min-height | ブラウザの縦幅が値以上 |
max-height | ブラウザの縦幅が値以下 |
min-device-width | デバイスの横幅が値以上 |
max-device-width | デバイスの横幅が値以下 |
min-device-height | デバイスの縦幅が値以上 |
max-device-height | デバイスの縦幅が値以下 |
次の例はp要素のテキストカラーを赤色にしていますが、横幅が600px以下の場合は青色に設定しています。
デスクトップとスマートフォンでこのプレビューを比較すると色が異なることが分かります。
<style>
p {
color: red;
}
@media ( max-width: 600px ) {
p {
color: blue;
}
}
</style>
<p>TEXT TEXT TEXT TEXT</p>
メディアクエリー
メディアクエリーは条件を結合します。
@media 条件 結合子 条件 {
スタイル
}
結合子 | 意味 |
---|---|
and | 両方の条件を満たす。 |
, | いずれかの条件を満たす。。 |
not | 条件を満たさない。 |
次の例はp要素のテキストカラーを赤色にしていますが、ブラウザかつ横幅が600px以下の場合は青色に設定しています。
デスクトップとスマートフォンでこのプレビューを比較すると色が異なることが分かります。
<style>
p {
color: red;
}
@media screen and ( max-width: 600px ) {
p {
color: blue;
}
}
</style>
<p>TEXT TEXT TEXT TEXT</p>