標籤:
以前總是心裡想,媒體查詢很簡單,幾個查詢然後給個單獨的樣式就ok了,但當實際解決其問題來的時候,似乎下手有點艱難,所以今天特地來全面學習瞭解並記錄下。
首先,css2的媒體查詢與css3有區別的,我這裡表述似乎有問題,css2應該叫媒介查詢,什麼是媒介查詢,比如:
1 <link rel="stylesheet"<span style="color: #ff0000;"> media="screen"</span> href="small.css" />
這裡的media="screen"就是查詢是電腦螢幕還是印表機還是電視機,媒介類型表如下:
當 當前媒介滿足情況時,就使用small.css,但如果不滿足,這個link連結的http請求還是存在的,也就是說瀏覽器仍然下載了small.css只不過沒有使用。(有圖有真相)
以上是css2的媒介查詢,僅供瞭解,因為似乎對於一個知識點的學習非得對比起來看才記得深刻,記得明白。
接下來說css3的媒體查詢(ie8不支援媒體查詢,往往我們條件判斷添加respond.js)
PS:這行語句真有用
<meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
css3的媒體查詢語句是完全寫在css樣式表中的,形如:
1 @media screen and (min-width:541px) and (max-width:720px){2 html { font-size: 1400%;}3 }
下面來介紹@media都可以接啥參數。這裡的media screen與css2媒介查詢一樣,判斷裝置的。
常用:
width:瀏覽器可視寬度。
height:瀏覽器可視高度。
device-width:裝置螢幕的寬度。
device-height:裝置螢幕的高度。
device-pixel-ratio:螢幕像素比
orientation:檢測裝置目前處於橫向還是縱向狀態。
aspect-ratio:檢測瀏覽器可視寬度和高度的比例。(例如:aspect-ratio:16/9)
device-aspect-ratio:檢測裝置的寬度和高度的比例。
color:檢測顏色的位元。(例如:min-color:32就會檢測裝置是否擁有32位顏色)
color-index:檢查裝置色彩索引表中的顏色,他的值不能是負數。
resolution:檢測螢幕或印表機的解析度。(例如:min-resolution:300dpi或min-resolution:118dpcm)。
串連關鍵詞可以是and, or ,not。
例如:
1 /* 像素比為1時,頭部顏色為綠色 */ 2 .header { background:red;display:block;}或 3 @media only screen and (-moz-min-device-pixel-ratio: 1), 4 5 only screen and (-o-min-device-pixel-ratio: 1), 6 7 only screen and (-webkit-min-device-pixel-ratio: 1), 8 9 only screen and (min-device-pixel-ratio:1) {10 .header{background:green;}11 12 }
寫法就是那樣子,具體的得多找執行個體,例如移動端頁面的字型肯定不是寫死的啊,比如有很多標籤a,p,h1,等等,你不可能利用媒體查詢每個都去再寫一遍吧,我覺得媒體查詢得結合單位來使用,比如em單位,rem單位,還需要不斷的學習,今天只是整理,參考資料會在下面列出,還是很有協助的。
css3媒體查詢:
使用 CSS 媒體查詢建立響應式網站
CSS3 Media Queries
css3媒體查詢實現網站響應式布局
css3 media媒體查詢器用法總結
CSS媒體查詢
rem,em單位:
CSS3的REM設定字型大小
另外附上一張很有意義的em參考表
如果你覺得本文對你有協助就點個贊吧!
本文出自我的部落格:媒體查詢-全面學習
媒體查詢-全面學習