【CSS3リファレンス】@media
こんにちは(・∀・)
CSS3で新しく追加された機能をご紹介します。今回ご紹介するのは@media(メディア属性)です。
概要
CSS3以前でも@mediaや@importでscreenやprint等の指定をしてCSSを適用させるメディアの指定は可能でした。CSS3ではその機能が拡張され、メディア特性や論理演算子が設定できるようになりました。
メディア特性
width | ウィンドウの幅 |
max-width | 最大ウィンドウの幅 |
min-width | 最小ウィンドウの幅 |
height | ウィンドウの高さ |
max-height | 最大ウィンドウの高さ |
min-height | 最小ウィンドウ高さ |
devide-width | 画面の幅 |
max-devide-width | 最大画面の幅 |
min-devide-width | 最小画面の幅 |
devide-height | 画面の高さ |
max-devide-height | 最大画面の高さ |
min-devide-height | 最小画面の高さ |
論理演算子
and | AND : かつ(区切り) |
, | OR : または(区切り) |
not | NOT : ~でない(前に付ける) |
only | 古いブラウザ対策。対応ブラウザはonlyは無視(前に付ける) |
サンプル
htmlの中でlink要素を使って振り分ける
<link rel="stylesheet" media="screen and (max-width: 479px;)" href="S.css">
<link rel="stylesheet" media="screen and (min-width: 480px;) and (max-width: 768px;)" href="M.css">
<link rel="stylesheet" media="screen and (min-width: 769px;)" href="L.css">
cssに直接記入して振り分ける
@media (min-width: 480px) {
p { color: green; }
}
@media only screen and (min-width: 481px) and (max-width: 767px) {
p { color: red; }
}
@media only screen and (min-width: 780px) {
p { color: blue; }
}