CSS

Media Queries使用方法

字號+ 編輯: Snake 修訂: 种花家 來源: 慕课网 2023-09-07 我要說兩句(0)

Media Queries能在不同的條件下使用不同的樣式,使頁面在不同在終耑設備下達到不同的渲染效果。前面簡單的介紹了Media Queries如何引用到項目中,但Media Queries有其自己的使用槼則。

Media Queries使用方法

Media Queries能在不同的條件下使用不同的樣式,使頁面在不同在終耑設備下達到不同的渲染效果。前面簡單的介紹了Media Queries如何引用到項目中,但Media Queries有其自己的使用槼則。

具體來說,Media Queries的使用方法如下:@media 媒體類型and (媒體特性){你的樣式}

注意:使用Media Queries必須要使用“@media”開頭,然後指定媒體類型(也可以稱爲設備類型),隨後是指定媒體特性(也可以稱之爲設備特性)。

媒體特性的書寫方式和樣式的書寫方式非常相似,主要分爲兩個部分:

第一個部分指的是媒體特性;

第二部分爲媒體特性所指定的值,而且這兩個部分之間使用冒號分隔。

例如:

(max-width: 480px)

從前面表中可以得知,主要有十種媒體類型和13種媒體特性,將其組合就類似於不同的CSS集合。

但與CSS屬性不同的是,媒體特性是通過min/max來表示大於等於或小於做爲邏輯判斷,而不是使用小於(<)和大於(>)這樣的符號來判斷。

接下來一起來看看Media Queries在實際項目中常用的方式。

  • 最大寬度max-width

“max-width”是媒體特性中最常用的一個特性,其意思是指媒體類型小於或等於指定的寬度時,樣式生效。如:

@media screen and (max-width:480px){
.ads {
    display:none;
    }
}

上面表示的是:當屏幕小於或等於480px時,頁面中的廣告區塊(.ads)都將被隱藏。

  • 最小寬度min-width

“min-width”與“max-width”相反,指的是媒體類型大於或等於指定寬度時,樣式生效。

@media screen and (min-width:900px){
.wrapper{width: 980px;}
}

上面表示的是:當屏幕大於或等於900px時,容器“.wrapper”的寬度爲980px。

  • 多個媒體特性使用

Media Queries可以使用關鍵詞"and"將多個媒體特性結合在一起。

即一個Media Query中可以包含0到多個表達式,表達式又可以包含0到多個關鍵字,以及一種媒體類型。

當屏幕在600px~900px之間時,body的背景色渲染爲“#f5f5f5”,如下所示。

@media screen and (min-width:600px) and (max-width:900px){
  body {background-color:#f5f5f5;}
}
  •  設備屏幕的輸出寬度Device Width

在智能設備上,例如iPhone、iPad等,還可以根據屏幕設備的尺寸來設置相應的樣式(或者調用相應的樣式文档)。同樣的,對於屏幕設備同樣可以使用“min/max”對應參數,如“min-device-width”或者“max-device-width”。

<link rel="stylesheet" media="screen and (max-device-width:480px)" href="iphone.css" />

上面的代碼指的是“iphone.css”樣式適用於最大設備寬度爲480px,比如說iPhone上的顯示,這裡的“max-device-width”所指的是設備的實際分辨率,也就是指可視面積分辨率。

  • not關鍵詞

使用關鍵詞“not”是用來排除某種制定的媒體類型,也就是用來排除符合表達式的設備。

換句話說,not關鍵詞表示對後面的表達式執行取反操作,如:

@media not print and (max-width: 1200px){樣式代碼}

上面代碼表示的是:樣式代碼將被使用在除列印設備和設備寬度小於1200px下所有設備中。

  • only關鍵詞

only用來指定某種特定的媒體類型,可以用來排除不支持媒體查詢的瀏覽器。其實only很多時候是用來對那些不支持Media Query但卻支持Media Type的設備隱藏樣式表的。其主要有:支持媒體特性的設備,正常調用樣式,此時就當only不存在;表示不支持媒體特性但又支持媒體類型的設備,這樣就會不讀樣式,因爲其先會讀取only而不是screen;另外不支持Media Queries的瀏覽器,不論是否支持only,樣式都不會被採用。如

<link rel="stylesheet" media="only screen and (max-device-width:240px)" href="android240.css" />

在Media Query中如果沒有明確指定Media Type,那麽其默認爲all,如:

<link rel="stylesheet" media="(min-width:701px) and (max-width:900px)" href="mediu.css" />

另外在樣式中,還可以使用多條語句來將同一個樣式應用於不同的媒體類型和媒體特性中,指定方式如下所示。

<link rel="stylesheet" type="text/css" href="style.css" media="handheld and (max-width:480px), screen and (min-width:960px)" />

上面代碼中style.css樣式被用在寬度小於或等於480px的手持設備上,或者被用於屏幕寬度大於或等於960px的設備上。

到目前爲止,CSS3 Media Queries得到了衆多瀏覽器支持,除了IE6-8瀏覽器不支持之外,在所有現代瀏覽器中都可以完美支持。還有一個與衆不同的時,Media Queries在其他瀏覽器中不要像其他CSS3屬性一樣在不同的瀏覽器中添加前綴。

閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    0

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 多個高度相同, 屬性inline-block的div,有的div沒有内容而有的div有内容,有内容的會下沉?

  • 讓整個網頁全局變成黑白色調的css代碼

  • CSS生成内容

  • CSS3外輪廓屬性

我要說說
網上賓友點評