媒體查詢

定義和使用

使用 @media 查詢,你可以針對不同的媒體類型定義不同的樣式。

@media 可以針對不同的屏幕尺寸設置不同的樣式,特別是如果你需要設置設計響應式的頁面,@media 是非常有用的。

當你重置瀏覽器大小的過程中,頁面也會根據瀏覽器的寬度和高度重新渲染頁面。

2. css2中media查詢:

通過<link>標籤的media屬性爲樣式表指定設備類型:

比如:

(1)設備最大寬度是800px時,加載demo.css文件樣式

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

(2)500px-800px之間的設備:

<link rel="stylesheet" media="screen and (max-width:800px) and (min-width:500px)" href="./demo.css">

(3)最小寬度500px時:

<link rel="stylesheet" media="screen and (min-width:500px)" href="./demo.css">

(4)在非打印設備下:

<link rel="stylesheet" media="not print and (max-width:800px)" href="./demo.css">

注意:not 邏輯操作符,必須用於開頭,且會否定整個media聲明。上述代碼表示:not (print and max-width:800px) 

比如:不在(screen 且 最大寬度是800px)

<link rel="stylesheet" media="not screen and (max-width:800px)" href="./demo.css">

 上述代碼在“screen且寬度大於800px”的情況下,會加載“demo.css”文件。

(5)orientation:portrait

指定輸出設備中的頁面可見區域高度大於或等於寬度(height >= width)

顯示屏縱向放置

<link rel="stylesheet" media="screen and (orientation:portrait)" href="./demo.css">

(6)或邏輯操作符 ,

<link rel="stylesheet" media="screen and (orientation:portrait), print and (min-width:6in)" href="./demo.css">

表示:寬度小於等於高度的屏幕 或 最小寬度6英寸的打印設備 會加載demo.css樣式

3. css3的media查詢

特點:css樣式中,不同情況下,標籤的類選擇器加載不同的樣式

    <style>
        @media screen and (max-width:800px) and (min-width:500px){
            div{
                width: 100px;
                height: 100px;
                background-color: green;
            }
            span{
                color: red;
            }
        }
        @media screen and (max-width:500px){
            div{
                width: 200px;
                height: 200px;
                background: blue;
            }
            span{
                color: pink;
            }
        }
    </style>

當然,該css樣式可以採用link標籤將外部css文件引入的方式,可以將css樣式寫在一個css文件中引入,而不是在800px下,引入demo1.css文件,在600px下引入demo2.css文件。

4. 媒體類型:screen(電腦、手機、平板等屏幕),print(打印設備),all(所有設備)

5. 媒體特性:基本上只用到與width屬性相關的屬性,比如:max-width(最大寬度)、min-width(最小寬度)、width(渲染寬度)、device-width(設備寬度)

6. 通常情況下,px是相對單位,但是在該標籤中,如下設置,px是絕對單位。即不同設備下,都是這麼大。

實例:旋轉木馬的項目中,在瀏覽器中查看和在我自己手機上查看都是一樣大。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

7. 頁面縮放的問題:

<meta name="viewport" content="width=device-width, initial-scale=1.0">中的initial-scale=1.0是縮放屬性

(1)頁面放大後,瀏覽器中的文檔效果會變大,但是瀏覽器的寬高並沒有變化,而文檔中的標籤元素會觸發media中寬度變小的效果,好像是:瀏覽器寬高變小了,而觸發了標籤寬度小的時候的css樣式。

(2)現在頁面的設計不允許縮放,因爲會重新佈局頁面:

<meta name="viewport" content="width=device-width, minimum-scale = 1.0, maximum-scale = 1.0, initial-scale = 1.0">

8. 媒體查詢尺寸

所以設置的常有:

@media screen and (min-width:1200px)

@media screen and (min-width:992px)

@media screen and (min-width:768px)

@media screen and (min-width:480px)

在設置時,需要注意先後順序,不然後面的會覆蓋前面的樣式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章