媒體查詢可用于檢測很多事情,例如:
- viewport(視窗) 的寬度與高度
- 設(shè)備的寬度與高度
- 朝向 (智能手機橫屏,豎屏) 。
- 分辨率
媒體類型
| 媒體類型 | 描述 |
|---|---|
| all | 用于所有設(shè)備 |
| aural | 已廢棄。用于語音和聲音合成器 |
| braille | 已廢棄。 應(yīng)用于盲文觸摸式反饋設(shè)備 |
| embossed | 已廢棄。 用于打印的盲人印刷設(shè)備 |
| handheld | 已廢棄。 用于掌上設(shè)備或更小的裝置,如PDA和小型電話 |
| 用于打印機和打印預(yù)覽 | |
| projection | 已廢棄。 用于投影設(shè)備 |
| screen | 用于電腦屏幕,平板電腦,智能手機等。 |
| speech | 應(yīng)用于屏幕閱讀器等發(fā)聲設(shè)備 |
| tty | 已廢棄。 用于固定的字符網(wǎng)格,如電報、終端設(shè)備和對字符有限制的便攜設(shè)備 |
| tv | 已廢棄。 用于電視和網(wǎng)絡(luò)電視 |
多媒體查詢語法
@media 規(guī)則允許在相同樣式表為不同媒體設(shè)置不同的樣式。
多媒體查詢由多種媒體組成,可以包含一個或多個表達式,表達式根據(jù)條件是否成立返回 true 或 false。
@media not|only mediatype and (expressions) {
CSS 代碼...;
}
- not: not是用來排除掉某些特定的設(shè)備的,比如 @media not print(非打印設(shè)備)。
- only: 用來定某種特別的媒體類型。對于支持Media Queries的移動設(shè)備來說,如果存在only關(guān)鍵字,移動設(shè)備的Web瀏覽器會忽略only關(guān)鍵字并直接根據(jù)后面的表達式應(yīng)用樣式文件。對于不支持Media Queries的設(shè)備但能夠讀取Media Type類型的Web瀏覽器,遇到only關(guān)鍵字時會忽略這個樣式文件。
- all: 所有設(shè)備,這個應(yīng)該經(jīng)??吹?。
也可以在不同的媒體上使用不同的樣式文件:
<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="mystyle.css">
媒體功能
| 值 | 描述 |
|---|---|
| aspect-ratio | 定義輸出設(shè)備中的頁面可見區(qū)域?qū)挾扰c高度的比率 |
| color | 定義輸出設(shè)備每一組彩色原件的個數(shù)。如果不是彩色設(shè)備,則值等于0 |
| color-index | 定義在輸出設(shè)備的彩色查詢表中的條目數(shù)。如果沒有使用彩色查詢表,則值等于0 |
| device-aspect-ratio | 定義輸出設(shè)備的屏幕可見寬度與高度的比率。 |
| device-height | 定義輸出設(shè)備的屏幕可見高度。 |
| device-width | 定義輸出設(shè)備的屏幕可見寬度。 |
| grid | 用來查詢輸出設(shè)備是否使用柵格或點陣。 |
| height | 定義輸出設(shè)備中的頁面可見區(qū)域高度。 |
| max-aspect-ratio | 定義輸出設(shè)備的屏幕可見寬度與高度的最大比率。 |
| max-color | 定義輸出設(shè)備每一組彩色原件的最大個數(shù)。 |
| max-color-index | 定義在輸出設(shè)備的彩色查詢表中的最大條目數(shù)。 |
| max-device-aspect-ratio | 定義輸出設(shè)備的屏幕可見寬度與高度的最大比率。 |
| max-device-height | 定義輸出設(shè)備的屏幕可見的最大高度。 |
| max-device-width | 定義輸出設(shè)備的屏幕最大可見寬度。 |
| max-height | 定義輸出設(shè)備中的頁面最大可見區(qū)域高度。 |
| max-monochrome | 定義在一個單色框架緩沖區(qū)中每像素包含的最大單色原件個數(shù)。 |
| max-resolution | 定義設(shè)備的最大分辨率。 |
| max-width | 定義輸出設(shè)備中的頁面最大可見區(qū)域?qū)挾取?/td> |
| min-aspect-ratio | 定義輸出設(shè)備中的頁面可見區(qū)域?qū)挾扰c高度的最小比率。 |
| min-color | 定義輸出設(shè)備每一組彩色原件的最小個數(shù)。 |
| min-color-index | 定義在輸出設(shè)備的彩色查詢表中的最小條目數(shù)。 |
| min-device-aspect-ratio | 定義輸出設(shè)備的屏幕可見寬度與高度的最小比率。 |
| min-device-width | 定義輸出設(shè)備的屏幕最小可見寬度。 |
| min-device-height | 定義輸出設(shè)備的屏幕的最小可見高度。 |
| min-height | 定義輸出設(shè)備中的頁面最小可見區(qū)域高度。 |
| min-monochrome | 定義在一個單色框架緩沖區(qū)中每像素包含的最小單色原件個數(shù) |
| min-resolution | 定義設(shè)備的最小分辨率。 |
| min-width | 定義輸出設(shè)備中的頁面最小可見區(qū)域?qū)挾取?/td> |
| monochrome | 定義在一個單色框架緩沖區(qū)中每像素包含的單色原件個數(shù)。如果不是單色設(shè)備,則值等于0 |
| orientation | 定義輸出設(shè)備中的頁面可見區(qū)域高度是否大于或等于寬度。 |
| resolution | 定義設(shè)備的分辨率。如:96dpi, 300dpi, 118dpcm |
| scan | 定義電視類設(shè)備的掃描工序。 |
| width | 定義輸出設(shè)備中的頁面可見區(qū)域?qū)挾取?/td> |
【示例1】
<style>
@media screen
{
p.test {font-family:verdana,sans-serif;font-size:14px;}
}
@media print
{
p.test {font-family:times,serif;font-size:10px;}
}
@media screen,print
{
p.test {font-weight:bold;}
}
</style>
【示例2】
@media screen and (max-width: 300px) {
body {
background-color:lightblue;
}
}