1. 程式人生 > >移動端三個視口

移動端三個視口

情況 兩個 ble 定義 限制 alt 顯示 mar 不同

轉載:http://www.cnblogs.com/wmmang-blog/p/4708351.html

本文記錄學到的有關視口的內容,不足之處請指正。

1、視口

有時會使用百分比來聲明寬度,如:

html,body{}

div{width:30%;}

假設div是body的子元素,這段css就表示該div占body寬度的30%.body沒有顯示聲明寬度,因此body占用了父包含塊html元素寬度的100%。同樣的,html也沒顯示聲明寬度,因此html也占父包含塊的100%。等等.. html的父包含塊是什麽呢?是視口。

在CSS標準文檔中稱為初始包含塊. 這個初始包含塊是所有CSS百分比寬度推算的根源。

在桌面上,視口的寬度與瀏覽器窗口的寬度一致。除開margin和padding,html和body元素都與瀏覽器窗口的寬度一致。這就是為啥以上div占用了瀏覽器寬度的30%。

2、布局視口

桌面上,視口與瀏覽器窗口的寬度一致,但在手機上,視口與移動端瀏覽器屏幕寬度是不關聯的。試想下,在小屏幕的移動端設備下,如果使視口與移動端瀏覽器屏幕寬度一致,那麽占body的30%的div在手機上展示的寬度看起來非常非常小,因此移動端瀏覽器廠商必須保證即使在窄屏幕下元素顯示的很好,因此需要將視口的寬度設計得比屏幕寬度寬出很多,這樣網站會顯示得可以想象成如桌面上的那樣。但是,如果網站沒有為移動端做優化,那麽瀏覽器會盡可能的縮小網站讓用戶能看到網站的全貌。

總結:在手機上,視口與屏幕寬度並無關聯,這跟桌面上是相反的。我們稱該視口為布局視口。

3、視覺視口

它是用戶正在看到的網站的區域,註意是網站的區域(重要的事情說三遍)。用戶可以通過縮放來查看網站的內容。如果用戶縮小網站,我們看到的網站區域將變大,此時視覺視口也變大了,同理,用戶放大網站,我們能看到的網站區域將縮小,此時視覺視口也變小了。不管用戶如何縮放,都不會影響到布局視口的寬度。

4、理想視口

默認情況下,一個手機或平板瀏覽器的布局寬度為768-1024像素。這對於手機的窄屏來說並不理想。換句話說,布局視口 的默認寬度並不是一個理想的寬度。因此理想視口被引進了。

只有當網站是為手機準備的時候才應該使用理想視口。當要添加理想視口,需要在頁面裏添加meta視口標簽,如:

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

這行代碼是通知瀏覽器,布局視口的寬度應該與理想視口寬度一致。這也說明了定義理想視口是瀏覽器的工作,而不是設備或操作系統的工作。因此,同一設備上的不同瀏覽器擁有不同的理想視口。瀏覽器的理想視口的大小也取決於它所處的設備。

總結:

1、在桌面瀏覽器上,瀏覽器窗口與視口的寬度一致,而視口(CSS標準文檔中稱為“初始包含塊”)是CSS百分比寬度推算的根源,因此,瀏覽器窗口是約束CSS布局的視口;

2、在手機上,有兩個視口,布局視口會限制CSS布局;視覺視口決定用戶看到的網站內容;

3、移動端瀏覽器還有個理想視口,它是對特定設備上的特定瀏覽器的布局視口的一個理想尺寸;

4、可以把布局視口尺寸定義為理想視口。這也是響應式設計的基礎。

移動端三個視口