1、使用meta標籤:viewport
h5移動端頁面自適應普遍使用的方法,理論上講使用這個標籤是可以適應所有尺寸的螢幕的,但是各裝置對該標籤的解釋方式及支援程度不同造成了不能相容所有瀏覽器或系統。
viewport 是使用者網頁的可視區域。翻譯為中文可以叫做"視區"。
手機瀏覽器是把頁面放在乙個虛擬的"視窗"(viewport)中,通常這個虛擬的"視窗"(viewport)比螢幕寬,這樣就不用把每個網頁擠到很小的視窗中(這樣會破壞沒有針對手機瀏覽器優化的網頁的布局),使用者可以通過平移和縮放來看網頁的不同部分。
viewport標籤極其屬性:
<每個屬性的詳細介紹:meta
name
="viewport"
content
="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
屬性名取值
描述width
正整數 或 device-width
定義視口的寬度,單位為畫素
height
正整數 或 device-height
定義視口的高度,單位為畫素,一般不用
initial-scale
[0.0-10.0]
定義初始縮放值
minimum-scale
[0.0-10.0]
定義縮小最小比例,它必須小於或等於maximum-scale設定
maximum-scale
[0.0-10.0]
定義放大最大比例,它必須大於或等於minimum-scale設定
user-scalable
yes/no
定義是否允許使用者手動縮放頁面,預設值yes
2、使用css3單位rem
rem是css3新增的乙個相對單位(root em,根em),使用rem為元素設定字型大小時,是相對大小,但相對的只是html根元素。通過它既可以做到只修改根元素就成比例地調整所有字型大小,又可以避免字型大小逐層復合的連鎖反應。
目前,除了ie8及更早版本外,所有瀏覽器均已支援rem。對於不支援它的瀏覽器多寫乙個絕對單位的宣告。這些瀏覽器會忽略用rem設定的字型大小。下面就是乙個例子:
p預設html的font-size是16px,即1rem=16px,如果某div寬度為32px你可以設為2rem。
通常情況下,為了便於計算數值則使用62.5%,即預設的10px作為基數。當然這個基數可以為任何數值,視具體情況而定。設定方法如下:
html具體不同螢幕下的規則定義,即基數的定義方式:可以通過css定義,不同寬度範圍裡定義不同的基數值,當然也可以通過js一次定義方法如下:
3、使用**查詢
**查詢也是css3的方法,我們要解決的問題是適應手機螢幕,這個**查詢正是為解決這個問題而生。
**查詢的功能就是為不同的**設定不同的css樣式,這裡的「**」包括頁面尺寸,裝置螢幕尺寸等。
例如:如果瀏覽器視窗小於 500px, 背景將變為淺藍色:
@media only screen and (max-width: 500px) }4、使用百分比
百分比指的是父元素,所有百分比都是這樣的。子元素寬度50%,那麼父元素的寬度就是100%;
所以body預設寬度是螢幕寬度(pc中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了,這只適合布局簡單的頁面,複雜的頁面實現很困難。
移動端h5框架自適應 移動h5自適應布局
轉 問題一,解析度resolution適配 不同螢幕寬度,html元素寬高比和字型大小,元素之間的距離自適應,使用rem單位。問題二,單位英吋畫素數ppi適配 使用rem單位,文字會發虛。段落文字,使用px單位,用media query或js來適配。標題文字可以直接使用rem單位。問題三,裝置畫素比...
移動h5自適應布局
問題一,解析度resolution適配 不同螢幕寬度,html元素寬高比和字型大小,元素之間的距離自適應,使用rem單位。問題二,單位英吋畫素數ppi適配 使用rem單位,文字會發虛。段落文字,使用px單位,用media query或js來適配。標題文字可以直接使用rem單位。問題三,裝置畫素比例d...
移動h5自適應布局
from 問題一,解析度resolution適配 不同螢幕寬度,html元素寬高比和字型大小,元素之間的距離自適應,使用rem單位。問題二,單位英吋畫素數ppi適配 使用rem單位,文字會發虛。段落文字,使用px單位,用media query或js來適配。標題文字可以直接使用rem單位。問題三,裝置...