CSSStyleSheet.media 屬性
由於媒體的多樣性,導致很多CSS樣式需要特定針對於某一種媒介。
比如CSS專門用於列印效果或者顯示器螢幕效果,再或者專門用於放映機。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<style type="text/css" media="print"> div{ font-size:12px; } </style>
上述程式碼通過media="print"設定CSS程式碼在列印時有效。
media預設值是screen,所以如果CSS程式碼針對顯示器螢幕效果,可以省略。
CSSStyleSheet.media屬性的作用就是返回當前樣式表所作用的媒介。
屬性的返回值是MediaList物件。
語法結構:
[JavaScript] 純文字檢視 複製程式碼let MediaList=CSSStyleSheet.media
瀏覽器支援:
(1).IE瀏覽器支援此屬性。
(2).edge瀏覽器支援此屬性。
(3).谷歌瀏覽器支援此屬性。
(4).火狐瀏覽器支援此屬性。
(5).opera瀏覽器支援此屬性。
(6).safria瀏覽器支援此屬性。
程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style media="screen,projection"> #ant { width:100px; height:100px; text-align:center; background-color: red; } </style> <script> window.onload = function () { let odiv = document.getElementById("ant"); let styleSheet = document.styleSheets[0] console.log(styleSheet.media); console.log(styleSheet.media.mediaText); } </script> </head> <body> <div id="ant"></div> </body> </html>
程式碼執行效果截圖如下:
程式碼分析如下:
(1).document.styleSheets獲取當前頁面所有的樣式表物件,返回值是一個物件集合。
(2).由於頁面只有一個內部樣式表,通過document.styleSheets[0]即可獲取。
(3).styleSheet.media屬性可以獲取樣式表作用的媒介型別,返回值是一個集合物件,儲存了樣式表設定的媒介型別,程式碼中內部樣式表設定了兩種媒介型別"screen,projection"。
(4).styleSheet.media.mediaText屬性可以返回設定媒介型別的字串形式。
關於樣式表物件可以參閱CSSStyleSheet 物件詳解一章節。
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <link rel="stylesheet" href="css/style.css"/> <style media="screen,projection"> #ant { width:100px; height:100px; text-align:center; background-color: red; } </style> <script> window.onload = function () { let odiv = document.getElementById("ant"); let styleSheet = document.styleSheets[0] console.log(styleSheet.media); console.log(styleSheet.media.mediaText); } </script> </head> <body> <div id="ant"></div> </body> </html>
程式碼執行效果截圖如下:
引入的外部樣式表並沒有顯示定義media屬性,所以styleSheet.media返回的集合物件長度為0。
沒有顯示定義,那麼media屬性的預設值為"screen",也就是作用域顯示器螢幕。
特別說明:不要誤以為只有電腦的顯示器才是螢幕,手機或者ipad等螢幕都是顯示器螢幕,只是尺寸不同而已。
相關文章
- CMake 屬性之全域性屬性
- iOS動畫 屬性屬性解析iOS動畫
- defer 屬性和 async 屬性
- CSS 屬性篇(七):Display屬性CSS
- CMake 屬性之目標屬性
- CMake 屬性之目錄屬性
- JavaScript私有屬性和靜態屬性JavaScript
- CSS字型屬性和文字屬性詳解CSS
- 私有屬性
- allowfullscreen 屬性
- background 屬性
- cssText 屬性CSS
- translucent屬性
- parentStyleSheet屬性
- cssRules 屬性CSS
- background屬性
- jQuery 屬性jQuery
- 屬性動畫動畫
- jQuery屬性jQuery
- TextView屬性TextView
- XML屬性XML
- Property屬性
- DOM屬性
- HTML 屬性HTML
- ref屬性
- Python - 物件導向程式設計 - 公共屬性、保護屬性、私有屬性Python物件程式設計
- CAD屬性編輯操作——物件屬性教程物件
- WPF 之 依賴屬性與附加屬性(五)
- jQuery設定disabled屬性與移除disabled屬性jQuery
- Python 類的屬性與例項屬性Python
- python物件屬性管理(2):property管理屬性Python物件
- 框架(frameset),全域性屬性框架
- js如何獲取給定屬性的屬性值JS
- Blob type 屬性
- Blob size 屬性
- JavaScript files 屬性JavaScript
- URL hostname 屬性
- URL pathname 屬性