亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網(wǎng)站 > 網(wǎng)頁設計 > 正文

淺談移動端的自適應布局問題(響應式、rem/em、Js動態(tài))

2024-08-30 08:36:06
字體:
來源:轉載
供稿:網(wǎng)友

隨著3G的普及,越來越多的人使用手機上網(wǎng)。移動設備正超過桌面設備,成為訪問互聯(lián)網(wǎng)的最常見終端。于是,網(wǎng)頁設計師不得不面對一個難題:如何才能在不同大小的設備上呈現(xiàn)同樣的網(wǎng)頁?本篇文章將講述自適應網(wǎng)頁設計的概念和方法,使網(wǎng)頁開發(fā)人員維護同一個網(wǎng)頁代碼,即可使網(wǎng)站在多種設備上具有更好的閱讀體驗。本文詳細介紹了自適應網(wǎng)頁的實現(xiàn)方法,希望能給迷惑的你帶來幫助。

一. 在HTML的頭部加入meta標簽

在HTML的頭部,也就是head標簽中增加meta標簽,告訴瀏覽器網(wǎng)頁寬度等于設備屏幕寬度,且不進行縮放,代碼如下:

<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0">

簡單分析一下這一行代碼的含義:width=device-width表示網(wǎng)頁的寬度等于設備屏幕的寬度,initial-scale=1.0表示設置頁面初始的縮放比例為1,user-scalable=no表示禁止用戶進行縮放,maximum-scale=1.0 和 minimum-scale=1.0 表示設置最大的和最小的頁面縮放比例。因為各大瀏覽器對meta標簽的解析程度不一樣,所以我們要盡可能的去兼容所有瀏覽器。

二. 百分比布局

在頁面布局中,相對寬度和絕對寬度相結合來進行布局,將更有利于網(wǎng)頁的可維護性。

下圖分別是拉勾網(wǎng)在iPhone5、iPhone6和iPhone 6 Plus下的布局,可以看到隨著設備的屏幕寬度不同,即使是同一套網(wǎng)頁代碼顯示出來的字體大小以及間隔也都不一樣。紅線框內部分就是使用了百分比布局的做法,對于網(wǎng)頁的可維護性將更好。

                  

三.  響應式頁面的實現(xiàn)

目前一般常見的實現(xiàn)響應式有兩種方法,一種是利用媒體查詢,另外一種是bootstrap下的柵格布局,以后介紹bootstrap的時候來介紹柵格布局,這里主要來說一下如何利用媒體查詢實現(xiàn)響應式布局。

媒體查詢,即 @media 查詢,媒體查詢可以針對不同的屏幕尺寸設置不同的樣式,特別是如果你需要設計響應式的頁面,@media 是非常有用的。當你重置瀏覽器大小的過程中,頁面也會根據(jù)瀏覽器的寬度和高度重新渲染頁面。因為是設置樣式,所以將媒體查詢相關的代碼放在css文件的最下方即可。

為了更加清晰地理解響應式的用法,我在下方列舉了兩個案例。第一個案例比較簡單,實現(xiàn)了在不同的頁面寬度中改變body的背景顏色的作用。第二個案例以具體的項目來舉例,更加方便用戶

實例1:

如果頁面寬度小于 300 像素,則修改body的背景顏色為紅色:

@media screen and (max-width: 300px) {    body {         background-color:red;    }}

如果頁面寬度大于 300 像素并且小于600像素,則修改body的背景顏色為綠色:

@media screen and (min-width: 300px) and (max-width:600px) {    body {         background-color:green;    }}

如果頁面寬度大于 600 像素,則修改body的背景顏色為藍色:

@media screen and (min-width: 600px) {    body {         background-color:blue;    }}

代碼解釋:

screen 表示電腦屏幕,平板電腦,智能手機等,min-width和max-width 用于定義設備中頁面的最小和最大寬度。

實例2:視覺中國首頁的響應式實現(xiàn)

首先來看該頁面在不同窗口中的展示效果:

在窗口寬度大于1200px時候的頁面樣式如下:

在窗口寬度大于900px并且小于1200px時候頁面樣式如下:

當頁面寬度小于900px時候頁面樣式如下:

接下來我們來看具體的代碼實現(xiàn):

html代碼如下:注意有幾張圖片則寫幾個col

<div class="group_wrap">    <div class="group">        <div class="col">            <div class="img_logo">                <img src="img/8.jpg" alt="">            </div>        </div>        <div class="col">            <div class="img_logo">                <img src="img/9.jpg" alt="">            </div>        </div>    </div></div>

css代碼如下,默認是頁面寬度大于1200px時候的頁面:

.group_wrap{    width: 100%;    overflow: hidden;}.group{    width: 1200px;    margin: 0 auto;    overflow: hidden;}.col{    width: 280px;    margin: 10px;    float: left;}.img_logo{    padding: 10px;    background: white;}

實現(xiàn)響應式代碼如下,放在css文件的最下方即可:

/*當頁面的寬度在900px ~ 1200px之間的時候*/@media screen and (min-width: 900px) and (max-width: 1200px){    .group{        width: 900px;    }}/*當頁面的寬度在600px ~ 900px之間的時候*/@media screen and (min-width:600px) and (max-width: 900px){    .group{        width: 600px;    }}

總結:實際上響應式頁面的實現(xiàn)非常簡單,只要認真學,經(jīng)常練,一定可以熟練掌握的!

四. 頁面使用相對字體

在我們平常的網(wǎng)頁布局過程中經(jīng)常使用絕對單位像素(px)來進行布局,這樣的布局不適合我們自適應網(wǎng)頁的實現(xiàn),所以我們現(xiàn)在來介紹兩種常見的絕對單位em和rem。rem(font size of the root element)是指相對于根元素的字體大小的單位。簡單的說它就是一個相對單位。看到rem大家一定會想起em單位,em(font size of the element)是指相對于父元素的字體大小的單位。它們之間其實很相似,只不過一個計算的規(guī)則是依賴根元素一個是依賴父元素計算。

1. 相對長度單位em

em的特點 : ① em的值并不是固定的; ② em始終會繼承父級元素的字體大小。

廢話不多說,直接上代碼:

html代碼:

<div class="one">    <span>第一層</span>    <div class="two">        <span>第二層</span>        <div class="three">            <span>第三層</span>        </div>    </div></div>

css代碼:

body{    font-size: 20px;}.one{    font-size: 1.5em;}.two{    font-size: 0.5em;}.three{    font-size: 2em;}

結果:

.one  --->  30px    1.5 * 20 = 30px
.two  --->  15px    0.5 * 30 = 15px
.three ---> 30px     2  * 15 = 30px 

代碼分析:

em會繼承父級元素的字體大小,對于大多數(shù)瀏覽器而言,如果沒有給body字體大小,則默認為16px,所以對于class名稱為 one 的div而言,它的父親是body,所以 1em = 16px; 本案例中規(guī)定了body的字體大小為20px,所以對于 .one 而言,1em = 20px ,那么 1.5em = 30px。所以 one 的 font-size 為30px。

對于class名稱為 two 的div而言,它的父親是 one ,因為em會繼承父級的元素的字體大小,所以 1em = 30px, 那么 0.5em = 15px,所以 two的 font-size為15px。

對于class名稱為 three 的div而言,它的父親是 two ,因為em會繼承父級的元素的字體大小,所以 1em = 30px, 那么 0.5em = 15px,所以 two的 font-size為15px。

2. 相對長度單位rem

rem是CSS3新增的一個相對單位(root em,根em),這個單位引起了廣泛關注。這個單位與em有什么區(qū)別呢?區(qū)別在于使用rem為元素設定字體大小時,仍然是相對大小,但相對的只是HTML根元素。這個單位可謂集相對大小和絕對大小的優(yōu)點于一身,通過它既可以做到只修改根元素就成比例地調整所有字體大小,又可以避免字體大小逐層復合的連鎖反應。

我們來看下面的例子:

html代碼:

<div class="one">    <span>第一層</span>    <div class="two">        <span>第二層</span>        <div class="three">            <span>第三層</span>        </div>    </div></div>

css代碼:

html{    font-size: 20px;}.one{    font-size: 1.5rem;}.two{    font-size: 0.5rem;}.three{    font-size: 2rem;}

結果:

.one  --->  30px    1.5 * 20 = 30px
.two  --->  10px    0.5 * 20 = 10px
.three ---> 40px     2  * 20 = 40px  

代碼分析:

rem是css3中引進的新單位,rem的值始終相對于根元素html中設置的font-size大小,如果沒有設置,則在大多數(shù)瀏覽器中默認為font-size為16px,那么1rem = 16px;

所以對于class名稱為one的div而言,1.5rem = 1.5 * 20 = 30px。其他的類似,不再一一贅述。

關于em和rem的總結:

“em”是相對于其父元素來設置字體大小的,這樣就會存在一個問題,進行任何元素設置,都有可能需要知道他父元素的大小,在我們多次使用時,就會帶來無法預知的錯誤風險。而rem則相對就好用很多了,就我所在的公司而言,在實際的項目開發(fā)中用rem的情況也是非常多的。估計在不久的將來,國內的設計師將會和國外的設計師一樣,愛上rem。

五. Js動態(tài)設置rem來實現(xiàn)移動端字體的自適應

實際上講了這么多,大家可能已經(jīng)了解了rem的用法,但是還不了解如何利用rem去實現(xiàn)移動端的自適應。說到底,rem實現(xiàn)移動端自適應的原來在于它本身的特性,它可以始終根據(jù)根元素的字體大小去改變自己的值。目前各種常見手機的屏幕尺寸大小如下圖所示:

我們想實現(xiàn)手機端自適應,就是可以讓頁面的元素字體、間距、寬高等屬性的屬性值可以隨著手機屏幕尺寸的變化而變化,接下來我們看如何利用Js來動態(tài)的設置rem并實現(xiàn)移動端的自適應,Js代碼如下:

//獲取html元素var html = document.getElementsByTagName('html')[0]; //屏幕的寬度(兼容處理)var w = document.documentElement.clientWidth || document.body.clientWidth;//750這個數(shù)字是根據(jù)你的設計圖的實際大小來的,所以值具體根據(jù)設計圖的大小html.style.fontSize = w / 750 + "px";

以上代碼實現(xiàn)了利用Js獲取設備屏幕的寬度,并根據(jù)屏幕的寬度動態(tài)改變根元素html的font-siz屬性的作用。比如說,對于iphone6而言,屏幕尺寸為750,那么在iPhone6下html的font-size為1px,所以1rem = 1px;對于iPhone5而言,屏幕尺寸為640,那么在iPhone5下html的font-size為640/750 = 0.85333px,所以1rem = 0.85333px。這樣的話即使我們對一個元素設置同樣的大小和單位,也會在不同的設備下顯示不同的大小。比如說div{width:100rem},在iPhone6下它的寬度將等于100px,而在iPhone5下它的寬度等于100 * 0.85333 = 85.333px。這樣我們就真正實現(xiàn)了移動端的自適應,怎么樣,是不是很簡單呢!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
五月天电影免费在线观看一区| 欧美~级网站不卡| 日本成人三级电影| 久久国内精品自在自线400部| 黄色av网站在线观看| 国产精品变态另类虐交| 亚洲欧美日本一区二区| 成人国产精品| 性欧美videos白嫩| 日韩电影免费观看| 日产欧产美韩系列久久99| 国产日产欧产精品推荐色| 国产精品欧美久久久久一区二区| 欧美激情在线一区二区| 国产老肥熟xxxx在线观看| 国产精品178页| 亚洲美女性囗交| 波多野结衣办公室双飞| 国内成人精品2018免费看| 黄色在线看片| 欧美日韩在线观看一区二区| 99久久这里有精品| 成人免费乱码大片a毛片软件| 亚洲成av人片一区二区三区| 国内外成人免费激情在线视频| 日韩一区二区视频在线观看| 久久久久久一区二区| 九九九伊在人线综合| 99久久er热在这里只有精品15| 国产精品亚洲激情| 无码精品a∨在线观看中文| av在线收看| 视频区小说区图片区| 奇米777在线视频| 中文日本高清免费| 成人免费毛片xxx| 日韩av中文字幕第一页| 日韩视频久久| 26uuu另类亚洲欧美日本老年| 欧美一区二区三区四区在线观看地址| 91精品入口蜜桃| 欧美一区二区三区不卡| 黄色激情在线观看| 成人免费精品视频| 探花视频在线观看| 久草免费在线色站| 欧美伊人精品成人久久综合97| 欧美日韩网址| 日日躁天天躁狠狠躁| ass极品国模人体欣赏| 99热99re6国产在线播放| 久久久久久久久亚洲| 亚洲国产精品视频一区| 偷拍一区二区三区四区| 黑人巨大精品欧美一区二区一视频| 97超碰人人爱| 天天舔夜夜操| 天堂在线观看一卡二卡三卡四卡| 醉酒壮男gay强迫野外xx| 国产不卡高清在线观看视频| 国产精品欧美久久| 超清福利视频| 国产精品二区影院| 欧美日韩久久一区二区| 国产欧美精品一区二区| 国产精品www.| 欧美日韩国产精选| 久久久精品毛片| 国产在线视频第一页| 91小视频在线播放| 亚洲精品日产aⅴ| 丝袜中文在线| 在线综合视频网站| 日本激情视频网站| 色喇叭免费久久综合| 国产原创中文在线观看| 在线播放一级片| 成人亚洲综合天堂| 女性裸体视频网站| caoporn国产| 麻豆精品蜜桃一区二区三区| 日本在线观看高清完整版| 中文字幕精品久久久久| theporn国产精品| 成人性生交大片免费看中文视频| 日本欧美一二三区| 韩国19禁主播vip福利视频| 久久国产精品免费一区| 巨大荫蒂视频欧美另类大| 欧美一区二区播放| 日本欧美一二三区| 国产区精品在线观看| 国产va在线播放| 中文字幕2区| 嫩草影院入口一二三免费| 欧美精品videossex变态| 日本爱爱小视频| 喜爱夜蒲2在线| 日本在线三级| 精品欧美视频| 国产精品毛片久久| 亚洲国产91| 国产18精品乱码免费看| 久久国产精品色婷婷| 久久99精品久久久久久水蜜桃| 日韩一区二区三区高清在线观看| 精人妻一区二区三区| 亚洲乱码一区av黑人高潮| 五月婷婷激情在线| 国产伦精品一区二区三区视频青涩| 欧美日韩一二| 成人精品国产亚洲| 极品粉嫩饱满一线天在线| 国产精品一区在线| 国产美女主播在线| 很很鲁在线视频播放影院| 美女精品国产| 国产亚洲一区| 亚洲人成电影网站色www| 中文字幕一区在线播放| 国产精品高潮呻吟久久久久| 欧美精品无码一区二区三区| 亚洲综合免费观看高清完整版在线| 在线免费色视频| 黄色免费在线观看网站| 欧美福利视频网站| 婷婷综合久久中文字幕蜜桃三电影| h视频久久久| 激情亚洲网站| 欧美亚洲国产一区二区三区va| 亚洲欧洲综合网| 97碰在线观看| 国产在线国偷精品免费看| 欧美日韩一区 二区 三区 久久精品| 成人免费看片98| 欧美97人人模人人爽人人喊视频| 麻豆免费视频网站入口| 黄色片一级视频| 你懂得影院夜精品a| heyzo视频在线播放| 午夜在线观看av| 亚洲欧美综合| 99久久精品久久亚洲精品| 亚洲精品免费在线观看视频| 亚洲欧美二区三区| 超碰在线免费播放| 免费国产阿v视频在线观看| 免费福利在线视频| 国产成人精品免费看在线播放| 日本黄色片在线播放| 欧美精品一区二区久久| 精品小视频在线| 亚洲a一级视频| 91香蕉国产视频| 亚洲精品国产精品国| 日韩国产一区三区| 国产超碰91| 国产一区你懂的| 精品av中文字幕在线毛片| 欧美成人h版在线观看| 成人免费av在线| 无码人妻丰满熟妇区五十路百度| 精品欧美乱码久久久久久1区2区| 欧美视频xxxx| 中文字幕网址在线| 天天摸天天碰天天爽天天弄| 91插插插影院| 九九九精品视频| 亚洲第一二三区| 欧美日韩在线观看视频| 久久精品人人做人人爽电影| 欧美涩涩网站| 中文字幕不卡在线观看| 亚洲国产成人91porn| 日韩精品综合一本久道在线视频| 5566中文字幕一区二区电影| 国产精品乱码| 精品精品导航| 成人免费观看在线观看| 久草资源在线| 日韩不卡一区| 蜜桃网站在线观看| 欧美aaaaaaa| 欧美一区二区三区久久综| 青青草国产免费自拍| 亚洲精品一区二区三区在线观看| 亚洲五月六月丁香激情| 亚洲va久久久噜噜噜久久狠狠| 亚洲精品亚洲人成人网| 狠狠爱www人成狠狠爱综合网| 欧美在线视频观看免费网站| 99热在线免费| 欧美亚洲人成在线| 九九爱精品视频| 日本电影欧美片| 中文成人综合网| 日本高清网站| 国产99久久久欧美黑人| 亚洲黄色av一区| 久久99国产乱子伦精品免费| а√在线中文网新版地址在线| 男女18免费网站视频| 狠狠综合久久av一区二区老牛| 国产成+人+日韩+欧美+亚洲| 欧美高清性hdvideosex| 国产精品最新| 激情五月色综合亚洲小说| 国产视频精品xxxx| 久久免费区一区二区三波多野| 日本亚洲欧洲无免费码在线| 精品久久久久久中文字幕一区奶水| 日韩成人激情在线| 亚洲免费毛片| 国产精品情趣视频| 日韩免费观看高清完整版| 天天操夜夜欢| 欧美三级视频在线播放| 在线播放国产精品二区一二区四区| 欧美中文字幕一区二区三区亚洲| 在线日韩中文| 欧美多人猛交狂配| 超碰成人在线免费| 亚洲av无码国产精品久久| 天天好比中文综合网| 亚洲高清视频免费观看| 97se亚洲国产一区二区三区| 国产美女视频免费| 蜜桃麻豆影像在线观看| 欧美激情按摩在线| 五月激情丁香一区二区三区| 色窝窝无码一区二区三区| 粉嫩tv在线播放| 成人小视频在线播放| 日韩精品首页| 成人动漫网站在线观看| 国产区在线观看视频| 日韩va欧美va亚洲va久久| 精品人伦一区二区三区蜜桃网站| 日本久久伊人| 精品黄色一级片| 最新天堂资源在线| 天天操综合网| 欧美综合视频在线| 国产91在线播放精品| 中文字幕免费观看视频| 日本中文字幕视频在线| 国产福利视频导航| 中文字幕在线观看二区| 久久九九有精品国产23| 日本a一级在线免费播放| 国产免费久久久久| 午夜精品久久久内射近拍高清| 国内精品偷拍| 午夜精品福利在线观看| 成年网站免费| 日韩中文字幕在线视频播放| 亚洲综合色丁香婷婷六月图片| 久久青草伊人| 国产精品美女黄网| 最近免费中文字幕视频2019| 日本视频不卡| 欧美精品自拍| 欧美日韩成人黄色| 亚洲精品国产精品乱码不99按摩| 爱情岛论坛成人| 97超碰欧美中文字幕| 精品国产免费人成电影在线观看四季| 99ri国产在线| 老司机成人在线| 亚洲涩涩在线观看| 97人妻人人澡人人爽人人精品| 无码人妻aⅴ一区二区三区69岛| 性久久久久久久| 国产精品美乳一区二区免费| 在线天堂日本| 国模精品视频一区二区| 国产成人精品在线| 国产中文字幕在线看| 亚洲色图27p| 国产欧美一区二区三区在线看| 国产毛片av在线| 午夜精品久久久内射近拍高清| 乱亲女h秽乱长久久久| 国产青青草在线| 人妻一区二区视频| 7777精品伊人久久久大香线蕉| 免费国产一区二区| 91搞黄在线观看| 久久精品久久99| 久草视频免费看| 午夜一级免费视频| 免费观看黄一级视频| 亚洲成人一区二区在线观看| 日本一二三四区视频| 免费在线观看日韩| 黑人巨大国产9丨视频| 日韩网站免费观看高清| 亚洲国产成人av好男人在线观看| 亚洲欧美另类中文字幕| 亚洲国产精品成人久久综合一区| 日韩中文字幕1| 日本黄xxxxxxxxx100| 国产精品中文久久久久久久| 久久激情电影| 日韩av电影免费在线观看| 玖玖国产精品视频| 91精品国产电影| free性欧洲69| 国产一区二区三区在线观看精品| 亚洲成va人在线观看| 亚洲狠狠爱一区二区三区| 国产浪潮av性色av小说| 日本大臀精品| 久久99伊人| 日韩av一卡二卡| 米奇精品关键词| 欧美日韩免费在线观看| www.亚洲一区二区| 欧美mv日韩mv亚洲| 亚洲欧美日韩一区二区三区在线观看| 国产成人免费视频网站高清观看视频| 99久久精品免费看国产| 国产精品99久久久久久久vr| 久久99偷拍| 亚洲天堂黄色| 亚洲免费成人在线| 女主播福利一区| 亚洲最新av在线网站|