11.CSS3的媒介(media)查詢

CSS3 的媒介(media)查詢

經典真題

  • 如何使用媒體查詢實現視口寬度大于 320px 小于 640pxdiv 元素寬度變成 30%

媒體查詢

媒體查詢英文全稱 Media Query,顧名思義就是會查詢用戶所使用的媒體或者媒介。

在現在,網頁的瀏覽終端是越來越多了。用戶可以通過不同的終端來瀏覽網頁,例如:PC,平板電腦,手機,電視等。盡管我們無法保證一個網站在不同屏幕尺寸和不同設備上看起來一模一樣,但是至少要讓我們的Web頁面能適配用戶的終端。

CSS3 中的 Media Query (媒體查詢)模塊就是用來讓一個頁面適應不同的終端的。

Media Type 設備類型

首先我們來認識一下 CSS 中所支持的媒體類型。

CSS2 中常碰到的就是 all(全部)、screen(屏幕)和 print(頁面打印或打印預覽模式)。然而媒體的類型其實遠不止這 3 種。

W3C 中共列出了 10 種媒體類型,如下表所示:

設備類型
All所有設備
Braille盲人用點字法觸覺回饋設備
Embossed盲文打印機
Handheld便攜設備
Print打印用紙或打印預覽視圖
Projection各種投影設備
Screen電腦顯示器
Speech語音或音頻合成器
Tv電視機類型設備
Tty使用固定密度字母柵格的媒介,比如電傳打字機和終端

當然,雖然上面的表列出來了這么多,但是常用的也就是 all(全部)、screen(屏幕)和 print(頁面打印或打印預覽模式)這三種媒體類型。

媒體類型引用方法

引用媒體類型的方法有和很多,常見的媒體類型引用方法有:link 標簽、xml 方式、@importCSS3 新增的 @media

  1. link 方法

link 方法引入媒體類型其實就是在 link 標簽引用樣式的時候,通過 link 標簽中的 media 屬性來指定不同的媒體類型,如下:

<link rel="stylesheet" href="index.css" media="screen" />
<link rel="stylesheet" href="print.css" media="print" />
  1. xml 方式

xml 方式和 link 方式比較相似,也是通過 media 屬性來指定,如下:

<? xml-stylesheet rel="stylesheet" media="screen" href="style.css" ?>
  1. @import

@import 引入媒體類型主要有兩種方式,一種是在 CSS 樣式表中通過 @import 調用另一個樣式文件,另外一種是在 style 標簽中引入。

注意:IE6IE7 中不支持該方式

在樣式文件中引入媒體類型:

@import url('./index.css') screen

style 標簽中引入媒體類型:

<style>@import url('./index.css') screen
</style>
  1. @meida 的方式

@mediaCSS3 中新引進的一個特性,稱為媒體查詢。@media 引入媒體也有兩種方式,如下:

在樣式文件中引入媒體類型:

@media screen{/* 具體樣式 */
}

style 標簽中引入媒體類型:

<style>@media screen{/* 具體樣式 */}
</style>

雖然上面介紹了 4 種引入方式,但是最常見的就是第 1 種和第 4 種。

媒體查詢具體語法

接下來我們來看一下媒體查詢的具體語法。

這里我們可以將 Media Query 看成一個公式:

Media Type(判斷條件)+ CSS(符合條件的樣式規則)

這里舉例如下:

link 的方式

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

@media 的方式

@meida screen and (max-width:600px){/* 具體樣式 */
}

上面的兩個例子中都是使用 width 來進行的樣式判斷,但是實際上還有很多特性都可以被用來當作樣式判斷的條件。

具體如下表:

image-20240222091235937

有了 Media Query,我們能在不同的條件下使用不同的樣式,使頁面在不同的終端設備下達到不同的渲染效果。

這里有一個具體的公式如下:

@media 媒體類型 and (媒體特性) {/* 具體樣式 */
}

來看幾個具體示例。

  1. 最大寬度 max-width

該特性是指媒體類型小于或等于指定寬度時,樣式生效,例如:

@media screen and (max-width:480px) {/* 具體樣式 */
}

當屏幕寬度小于或等于 480px 時,樣式生效

  1. 最小寬度 min-width

該特性和上面相反,及媒體類型大于或等于指定寬度時,樣式生效,例如:

@media screen and (min-width:480px) {/* 具體樣式 */
}

當屏幕寬度大于或等于 480px 時,樣式生效

  1. 多個媒體特性混合使用

當需要多個媒體特性時,使用 and 關鍵字將媒體特性結合在一起,例如:

@media screen and (min-width:480px) and (max-width:900px){/* 具體樣式 */
}

當屏幕大于等于 480px 并且小于等于 900px 時,樣式生效。

  1. 設備屏幕的輸出寬度 Device Width

在智能設備上,例如 iphone、ipad 等,可以通過 min-device-widthmax-device-width 來設置媒體特性,例如:

@media screen and (max-device-height:480px) {/* 具體樣式 */
}

在智能設備上,當屏幕小于等于 480px 時樣式生效

  1. not 關鍵字

not 關鍵詞可以用來排除某種制定的媒體特性,示例如下:

@media not print and (max-width:900px) {/* 具體樣式 */
}

樣式代碼將被用于除了打印設備和屏幕寬度小于或等于 900px 的所有設備中。

  1. 未指明 Media Type

如果在媒體查詢中沒有明確的指定 Media Type,那么其默認值為 all

@media (max-width: 900px){/* 具體樣式 */
}

上面的樣式適用于屏幕尺寸小于或等于 900px 的所有設備。

更多關于媒體查詢的內容可以參閱 MDNhttps://developer.mozilla.org/zh-CN/docs/Web/CSS/Media_Queries/Using_media_queries

真題解答

  • 如何使用媒體查詢實現視口寬度大于 320px 小于 640pxdiv 元素寬度變成 30%

參考答案:

@media screen and (min-width: 320px) and (max-width: 640px){div{width: 30%;}
}

-EOF-

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697355.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697355.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697355.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++:string類

標準庫中的string類 string類 1. 字符串是表示字符序列的類 2. 標準的字符串類提供了對此類對象的支持&#xff0c;其接口類似于標準字符容器的接口&#xff0c;但添加了專門用于操作單字節字符字符串的設計特性。 3. string類是使用char(即作為它的字符類型&#xff0c;使用…

ChatGPT 是什么

文章目錄 一、ChatGPT 是什么二、ChatGPT的發明者三、ChatGPT的運作方式四、ChatGPT的技術五、ChatGPT的優勢六、ChatGPT的局限性七、ChatGPT的應用八、ChatGPT的未來九、總結 一、ChatGPT 是什么 OpenAI的ChatGPT&#xff0c;即Chat Generative Pre-Trained Transformer&…

3個精美的wordpress企業網站模板

WordPress企業網站模板 https://www.zhanyes.com/qiye/6305.html WordPress企業官網模板 https://www.zhanyes.com/qiye/6309.html WordPress律師模板 https://www.zhanyes.com/qiye/23.html

SQL注入漏洞解析--less-2

首先我們進入第二關 思路&#xff1a; 1.先判斷是什么類型的注入 2.根據類型我們在找注入點 步驟&#xff1a; 1.提示我們輸入id數字&#xff0c;那我們先輸入1猜一下 2.這里正常回顯&#xff0c;當我們后邊加上時可以看到報錯&#xff0c;且報錯信息看不到數字&#xff0…

輕松掌握opencv的8種圖像變換

文章目錄 opencv的8種圖像變換1. 圖像放大、縮小2. 圖像平移3. 圖像旋轉4. 圖像仿射變換5. 圖像裁剪6. 圖像的位運算&#xff08;AND, OR, XOR&#xff09;7. 圖像的分離和融合8. 圖像的顏色空間 opencv的8種圖像變換 1. 圖像放大、縮小 我們先看下原圖 import cv2 import ma…

C++面試:程序的編譯與運行

程序的編譯和運行是軟件開發中的基本環節&#xff0c;尤其是在使用編譯型語言&#xff08;如C/C、Java等&#xff09;進行開發時。這個過程涉及將人類可讀的源代碼轉換成機器能夠執行的指令&#xff0c;然后運行這些指令來完成既定的任務。下面是這一過程的詳細介紹&#xff0c…

基于java+springboot+vue實現的美食信息推薦系統(文末源碼+Lw)23-170

1 摘 要 使用舊方法對美食信息推薦系統的信息進行系統化管理已經不再讓人們信賴了&#xff0c;把現在的網絡信息技術運用在美食信息推薦系統的管理上面可以解決許多信息管理上面的難題&#xff0c;比如處理數據時間很長&#xff0c;數據存在錯誤不能及時糾正等問題。這次開發…

Shell好用的工具: cut

目標 使用cut可以切割提取指定列\字符\字節的數據 介紹 cut 譯為“剪切, 切割” , 是一個強大文本處理工具&#xff0c;它可以將文本按列進行劃分的文本處理。cut命令逐行讀入文本&#xff0c;然后按列劃分字段并進行提取、輸出等操作。 語法 cut [options] filename opti…

樹中枝繁葉茂:探索 B+ 樹、B 樹、二叉樹、紅黑樹和跳表的世界

歡迎來到我的博客&#xff0c;代碼的世界里&#xff0c;每一行都是一個故事 樹中枝繁葉茂&#xff1a;探索 B 樹、B 樹、二叉樹、紅黑樹和跳表的世界 前言B樹和B樹B樹&#xff08;Binary Tree&#xff09;&#xff1a;B樹&#xff08;B Plus Tree&#xff09;&#xff1a;應用場…

Cobra在ubuntu中設置自動補全

Cobra在ubuntu中設置自動補全 yourprogram指的是你程序&#xff0c;并且必須是使用了Cobra cli bash設置 $ source <(yourprogram completion bash)$ yourprogram completion bash > /etc/bash_completion.d/yourprogramzsh設置 $ echo "autoload -U compinit; …

Linux之用戶和用戶組用戶賬號系統文件

一、簡介 1.用戶的定義 在linux系統中用戶&#xff08;User&#xff09;需要用用戶賬號來訪問系統&#xff0c;服務和信息&#xff0c;系統中的每個進程&#xff08;運行的程序&#xff09;都是使用一個特定的用戶運行。每個文件都屬于一個特定的用戶所有。對文件和目錄的訪…

STM32Cubemx TB6612直流電機驅動

一、TB6612FNG TB6612是一個支持雙電機的驅動模塊&#xff0c;支持PWM調速。PWMA、AIN1、AIN2 為一組控制引腳&#xff0c;PWMA 為 PWM 速度控制引腳&#xff0c;AIN1、AIN2 為方向控制引腳&#xff1b;PWMB、BIN1、BIN2 為一組控制引腳&#xff0c;PWMB 為 PWM 速度控制引腳&…

【力扣hot100】刷題筆記Day11

前言 科研不順啊......又不想搞了&#xff0c;隨便弄弄吧&#xff0c;多花點時間刷題&#xff0c;今天開啟二叉樹&#xff01; 94. 二叉樹的中序遍歷 - 力扣&#xff08;LeetCode&#xff09; 遞歸 # 最簡單遞歸 class Solution:def inorderTraversal(self, root: TreeNode) …

idea運行項目時右下角彈出“Lombok requires enabled annotation processing”

文章目錄 錯誤描述原因分析解決方式參考 錯誤描述 Lombok requires enabled annotation processing&#xff1a;翻譯過來就是Lombok 需要啟用注釋處理 原因分析 idea安裝了Lombok插件&#xff0c;但有些設置未做。 解決方式 參考 idea配置和使用Lombok

全文搜索的工作原理講解

Elasticsearch全文搜索是一種強大的搜索技術&#xff0c;它基于Lucene構建&#xff0c;能夠處理大規模數據集&#xff0c;提供快速、準確的搜索結果。要充分利用Elasticsearch的全文搜索能力&#xff0c;關鍵在于理解和應用其核心組件&#xff1a;分詞&#xff08;Tokenization…

【FPGA】高云FPGA之數字鐘實驗->HC595驅動數碼管

高云FPGA之IP核的使用 1、設計定義2、設計輸入2.1 數碼管譯碼顯示2.2 74HC595驅動2.3 主模塊設計 3、分析和綜合4、功能仿真6.1 hex8模塊仿真6.2 HC595模塊 5、布局布線6、時序仿真7、IO分配以及配置文件&#xff08;bit流文件&#xff09;的生成8、配置&#xff08;燒錄&#…

代碼檢測規范和git提交規范

摘要&#xff1a;之前開發的項目&#xff0c;代碼檢測和提交規范都是已經配置好的&#xff0c;最近自己新建的項目就記錄下相關配置過程。 1. ESlint配置 2013年6月創建開源項目&#xff0c;提供一個插件化的JavaScript代碼檢測工具&#xff0c;創建項目是生成的eslintrc.js文…

【算法分析與設計】

&#x1f4dd;個人主頁&#xff1a;五敷有你 &#x1f525;系列專欄&#xff1a;算法分析與設計 ??穩中求進&#xff0c;曬太陽 題目 編寫一個函數&#xff0c;輸入是一個無符號整數&#xff08;以二進制串的形式&#xff09;&#xff0c;返回其二進制表達式中數字位…

如何使用Express框架構建一個簡單的Web應用

在這個數字化時代&#xff0c;Web應用的需求越來越多樣化和復雜化。在前端開發領域&#xff0c;Express框架作為一個快速、靈活的Node.js Web應用程序框架&#xff0c;擁有強大的功能和豐富的生態系統&#xff0c;深受開發者們的青睞。本篇博客將帶您一步步探索如何使用Express…

AUTOSAR汽車電子嵌入式編程精講300篇-基于深度學習的車載總線網絡入侵檢測

目錄 前言 國內外研究現狀 汽車 CAN 網絡攻擊現狀 2 汽車 CAN 總線介紹及信息安全問題分析</