搜尋
首頁web前端css教學CSS3中的media媒體查詢

CSS3中的media媒體查詢

Feb 17, 2017 pm 01:11 PM
css3media

媒體查詢多用於響應式網頁。

1.初始化設定:

在HTML檔案中,網頁頂部

標籤中插入一句話:
<meta>

這句話在於對響應式網頁做一個初始化設置,主要包括:

name="viewport":標記顯示裝置為視窗;

width = device-width:寬度等於目前裝置的寬度;

initial-scale:初始的縮放比例(預設為1.0);
minimum-scale :允許使用者縮放到的最小比例(預設為1.0);
maximum-scale:允許使用者縮放到的最大比例(預設為1.0);  
user-scalable:使用者是否可以手動縮放(預設為no,因為我們不希望用戶放大縮小頁面)。


2.解決IE瀏覽器的相容性問題:

因為IE瀏覽器(IE8)不支援HTML5和CSS3中的media,所以要載入用於解決IE瀏覽器相容性問題的JS檔案:

<!--[if lt IE 9]>
	<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
	<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->

兩個<script></script>標籤中的src屬性所指向的文件連結地址為固定地址中的文件,直接異地引用就好,不用下載到本地引用。

3.設定IE的渲染方式為最高:

現在有很多人的IE瀏覽器都升級到IE9以上,這個時候會有很多詭異的事情發生,例如現在是IE9的瀏覽器,但是瀏覽器的文件模式卻是IE8,為了防止這種情況,我們需要下面這段程式碼來讓IE的文檔模式永遠都是最新:

<meta>


當然還有一個更給力的寫法:

<meta>


這段程式碼後面加了一個chrome=1,這是由於Google Chrome Frame(Google內嵌瀏覽器框架GCF),如果使用者電腦安裝這個chrome插件,就可讓電腦內的IE瀏覽器規避版本因素,使用Webkit引擎及V8引擎進行排版及運算。當然如果使用者沒裝這個插件,這段程式碼就會讓IE瀏覽器以最高的文件模式展現效果。

4.CSS3 media 媒體查詢的寫法:

@media screen and (max-width: 960px){
	body{
		background: #000;
	}
}


這是media的標準寫法,在CSS檔案中,意思是:當頁小於960px時執行下列CSS程式碼,內容暫不用管程式碼,內容暫不用管程式碼。

對於上述程式碼中的screen,意為在告知裝置在列印頁面時使用襯線字體,在螢幕上顯示時用無襯線字體。目前很多網站都會直接省略screen,從而不需要考慮用戶打印網頁的需求,所以又有這種寫法:

@media (max-width: 960px){
	body{
		background: #000;
	}
}

本著思維嚴謹的原則,個人不會採用這種寫法。
5.CSS3媒體查詢主體代碼組合:


在響應式網頁佈局中需要持續運用媒體查詢代碼組合,主要作用在於判斷所適配屏幕的寬度,並根據各種寬度條件應用不同的CSS樣式。

如當螢幕寬度等於960px時,將網頁背景色變為紅色:

@media screen and (max-device-width:960px){
	body{
		background:red;
	}
}


如當螢幕寬度最大為960px(小於960px)時,將網頁背景色變為黑色:

螢幕寬度最小為960px(大於960px)時,將網頁背景色變為桔色:


@media screen and (max-width: 960px){
	body{
		background: #000;
	}
}
更為常見的是混合使用,如當螢幕寬度介於960px和1200px之間時,將網頁背景色變為黃色:

@media screen and (min-width:960px){
	body{
		background:orange;
	}
}
6.整體開發思路:

使用CSS3中媒體查詢的大致思路就是判斷網頁在不同設備中所處的寬度範圍,這樣的範圍可能有三種(PC、平板、手機),也可能有四種(PC、平板、中大螢幕手機、小螢幕手機),當然也可能只需要兩種(平板、手機,PC端單獨開發一版時可不作為CSS3媒體查詢的使用對象),並為各種寬度範圍情況下的所需頁面元素套用不同的CSS樣式,從而適配各種裝置。

7.響應式網頁開發中的寬度問題:

在實際開發中,通常需要設定響應式網頁寬度的最大值,一旦忽略最大寬度,臃腫或零散的網頁佈局都會造成視覺洪災,也就是我們常說的看起來很low。

另外談談目前顯示設備中的網頁寬度問題(由於篇幅問題,就不從工業革命開始扯了),目前最為常見的寬度基本上都是:大於或等於960px的PC端(1920px、1600px、1440px 、1280px、1140px、960px)、960px至640px之間的平板端(768px、640px)以及640px以下的手機端(480px、320px),以上寬度存在已久,且顯示設備中的網頁寬度會長期如此如此的狀態下,在響應式網頁寬度設計上,基本上從這幾個尺寸考慮就已經足夠。
8.media媒體查詢所有參數摘要:

媒體查詢器中也包含不常用的相關功能,悉如示下:

  • width:瀏覽器可視寬度,

  • height可視高度,

  • device-width:裝置螢幕的寬度,

  • device-height:裝置螢幕的高度,

  • orientation:偵測裝置目前處於橫向還是縱向狀態,

    orientation

  • aspect-ratio:检测浏览器可视宽度和高度的比例(例如:aspect-ratio:16/9),

  • device-aspect-ratio:检测设备的宽度和高度的比例,

  • color:检测颜色的位数(例如:min-color:32就会检测设备是否拥有32位颜色),

  • color-index:检查设备颜色索引表中的颜色(他的值不能是负数),

  • monochrome:检测单色楨缓冲区域中的每个像素的位数(这个太高级,估计咱很少会用的到),

  • resolution:检测屏幕或打印机的分辨率(例如:min-resolution:300dpi或min-resolution:118dpcm),

  • grid:检测输出的设备是网格的还是位图设备。

9.扩展——在CSS2中同样有媒体查询:

media媒体查询并不是CSS3诞生之后的专用功能,早在CSS2开始就已经支持media,比如:

在HTML文件中的

标签中写入这句:
<link>

以上是CSS2实现的衬线用法,href属性中写入在某单一显示设备中链接的CSS文件,但仅供入门,

如要判断移动设备是否为纵向放置的显示屏,可以这样写:

<link>

如要让小于960px的页面执行指定的CSS样式文件,可以这样写:

<link>

当然,CSS2中的媒体查询方法放到现在并不推荐使用,最大的弊端在于这样会增加页面http的请求次数,增加页面负担,使用CSS3中的媒体查询才是目前的最佳方法。

更多CSS3中的media媒体查询相关文章请关注PHP中文网!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
' CSS4”更新' CSS4”更新Apr 11, 2025 pm 12:05 PM

自從我第一次介紹了CSS4面中的事情以來,就已經進行了更多的討論。我將在這裡從其他人那裡匯集我最喜歡的想法。有

三種代碼三種代碼Apr 11, 2025 pm 12:02 PM

每次啟動一個新項目時,我都會將我正在查看的代碼分為三種類型,或者如果您願意的話。我認為這些類型可以應用於

https很容易!https很容易!Apr 11, 2025 am 11:51 AM

我對公開哀悼HTTPS的複雜性感到內gui。過去,我從第三方供應商那裡購買了SSL證書,並且遇到了麻煩

HTML數據屬性指南HTML數據屬性指南Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

了解JavaScript中的不變性了解JavaScript中的不變性Apr 11, 2025 am 11:47 AM

如果您以前從未在JavaScript中使用不變性,則可能會發現很容易將其與為新值或重新分配分配變量的混淆。

具有現代CSS功能的定製樣式表單輸入具有現代CSS功能的定製樣式表單輸入Apr 11, 2025 am 11:45 AM

如今,可以在語義上且易於訪問的同時構建自定義的複選框,無線電按鈕和切換開關。我們甚至不需要

腳註字符腳註字符Apr 11, 2025 am 11:34 AM

有特殊的超級數字字符有時非常適合腳註。他們在這裡:

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器如何使用HTML,CSS和JavaScript創建動畫倒計時計時器Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器