視口viewport

1、viewportjavascript

1. 何爲視口? 視口是瀏覽器顯示網頁的矩形區域。css

2. 默認視口:模擬一個大約1000像素寬的視口。java

理想視口:因設備、操做系統、瀏覽器而異,通常而言,手機寬帶大約在300~500像素之間(iphone 5寬度320像素),平板寬度在800~1400像素瀏覽器

可見視口:瀏覽器窗口減掉全部按鈕、工做條、滾動條等組件以後,實際包含網頁內容的空間。iphone

佈局視口:放大網頁後某些部分會跑到可見視口以外。咱們看到的那部分爲可見視口,而假想的約束「整個頁面」的矩形區爲佈局視口。佈局

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

2、像素spa

設備像素:設備屏幕的物理像素。任何設備的物理像素都是固定的。操作系統

css像素:邏輯像素,在css和javascript中使用的一個抽象的層。code

每個CSS聲明和幾乎全部的javascript屬性都使用CSS像素,所以實際上歷來用不上設備像素 ,惟一的例外是screen.width和screen.height.blog

縮放

在桌面端,css的1個像素每每都是對應着電腦屏幕的1個物理像素。

  //一個CSS像素徹底覆蓋了一個設備像素 

 

  而在手機端,因爲屏幕尺寸的限制,縮放是常常性的操做。

  //設備像素(深藍色背景)、CSS像素(半透明背景)
  //左圖表示當用戶進行縮小操做時,一個設備像素覆蓋了多個CSS像素
  //右圖表示當用戶進行放大操做時,一個CSS像素覆蓋了多個設備像素

 

不論咱們進行縮小或放大操做,元素設置的CSS像素(如width:300px)是始終不變的,而一個CSS像素對應多少個設備像素是根據當前的縮放比例來決定的。

 DPR(devicePixelRatio)

DPR = 設備像素 / css像素

CSS像素對應着之後要提到的理想視口,其對應的javascript屬性是screen.width/screen.height

而設備像素比DPR也有對應的javascript屬性window.devicePixelRatio

以iphone5爲例,iphone5的CSS像素爲320px*568px,DPR是2,因此其設備像素爲640px*1136px。

640(px) / 320(px)  = 2
1136(px) / 568(px) = 2
640(px)*1136(px) /  320(px)*568(px) = 4

 3、媒體查詢

1. <link>標籤

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

2. css文件中經過@media進行媒體查詢

@media screen and (min-width: 600px) {
/* 寫規則 */
}
相關文章
相關標籤/搜索