成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Html開發之Viewport的使用

開發 前端
近年來隨著移動端的快速發展,越來越多傳統的web應用需要適配移動終端,下面記錄一下如何通過viewport實現簡單的不同型號的手機端的適配問題。不過在此之前,介紹一下如何通過Chrome瀏覽器,調試在移動終端上的效果。

近年來隨著移動端的快速發展,越來越多傳統的web應用需要適配移動終端,下面記錄一下如何通過viewport實現簡單的不同型號的手機端的適配問題。不過在此之前,介紹一下如何通過Chrome瀏覽器,調試在移動終端上的效果。

調試工具

首先我們打開chrome谷歌瀏覽器,輸入天貓地址(實現了手機端適配),按F12進入開發者模式。進入如下的界面:

接下來點擊右下方圈紅的部分,可以調出另一個控制臺,如下界面:

選擇某個Device-設備,點擊Emulate,之后重新刷新頁面即可看到效果,這里我選中iphone5,具體效果如下:

可以知道的是天貓是做了移動端的適配的。

支持移動端

知道了如何進行調試之后,如何支持移動端呢。這里主要是通過Viewport來實現移動端的適配的。其實仔細觀察一些使用HTML5開發手機應用或手機網頁時,我們可能(有些可能不是通過viewport來實現適配的)會發現如下代碼:

  1. <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;" /> 

那么Viewport是什么呢?

手機瀏覽器是把頁面放在一個虛擬的窗口-viewport中的,通常情況下這個虛擬的窗口比屏幕寬,這樣就不用吧每個網頁擠到很小的窗口中(這樣會破壞沒有針對手機瀏覽器優化的網頁的布局),此時雖然顯示不完全,但是用戶仍可以通過平移和縮放來看網頁的內容。viewport就是讓網頁開發者通過其大小,動態的設置其網頁內容中控件元素的大小,從而使得在瀏覽器上實現和web網頁中相同的效果(比例縮小)。

當然,更加優秀的做法是類似天貓的做法:針對手機端重新進行頁面設計、布局,因為手機屏幕畢竟有限,按照web頁面等比縮小的方式較之最原始有改進,但是如何在小屏幕上展示最合適的內容給用戶的設計才是最貼切的。

不過對于一些沒有太多要求的,可以簡單的通過viewport實現適配。

Viewport語法

width:控制viewport的大小,一般情況下指定為device-width(單位為縮放為100%的CSS像素),也可以指定一個固定的值例如600.

height:和width相應,指定高度。

initial-scal:初始縮放比例,頁面***次load的時候的縮放比例。

maximum-scale:允許用戶縮放到的***比例。

minimum-scale:允許用戶縮放到的最小比例。

user-scalable:用戶是否可以手動縮放。

Demo

了解了Viewport接下來,我們實現一個小Demo,web版2048游戲的手機適配,web上的效果如下圖:

接下來的邏輯便是通過實際的設備大小,調整元素大小,核心代碼:

  1. var documentWidth = window.screen.availWidth;  
  2. var gridContainerWidth = 0.92*documentWidth;  
  3. var cellSideLength = 0.18*documentWidth;  
  4. var cellSpace = 0.04*documentWidth;  
  5. var headerWidth=window.screen.availWidth;  
  6. function prepareForMobile(){  
  7.     if(documentWidth>500){  
  8.         //web端  
  9.         gridContainerWidth =500;  
  10.         cellSpace=20;  
  11.         cellSideLength=100;  
  12.         headerWidth = 500;  
  13.     }else 
  14.     {  
  15.         //手機端額外處理頭部  
  16.         headerWidth = headerWidth*0.92;  
  17.     }  
  18.     $('#grid-container').css('width',gridContainerWidth - 2*cellSpace);  
  19.     $('#grid-container').css('height',gridContainerWidth - 2*cellSpace);  
  20.     $('#grid-container').css('padding',cellSpace);  
  21.     $('#grid-container').css('border-radius',0.02*gridContainerWidth);  
  22.     $('.grid-cell').css('width',cellSideLength);  
  23.     $('.grid-cell').css('height',cellSideLength);  
  24.     $('.grid-cell').css('border-radius',0.02*cellSideLength);  
  25.     //設置頭部  
  26.     $('.header').css('width',headerWidth);  
  27.     $('#newGame').css('width',headerWidth*0.20+'px');  
  28.     $('#topScore').css('width',headerWidth*0.40*0.90+'px');  

之后通過chrome瀏覽器即可看到在各個手機端上的效果:

本文出自:http://my.oschina.net/LCore/blog/335189

責任編輯:林師授 來源: LCore的博客
相關推薦

2015-07-30 10:04:43

viewport前端

2011-04-27 10:57:29

高性能web開發

2011-03-09 15:16:06

SilverlightHTML

2011-07-06 17:11:41

ASP

2013-12-17 15:32:20

iOS開發NewsstandKi

2010-08-04 10:17:17

Android開發WebView組件

2011-08-29 17:27:47

HTML 5交互移動應用

2012-02-14 13:50:21

ibmdw

2013-03-22 16:49:12

2011-08-08 17:05:02

XCode UserScript 腳本

2012-06-14 10:22:21

網易微博HTML5開發

2012-06-18 14:22:09

HTML5

2011-12-16 10:08:36

Node.js

2011-07-14 09:16:10

HTML 5

2011-08-12 08:56:31

JavaScript

2012-05-15 13:57:41

HTML5

2011-08-09 11:36:41

iPhoneUIPickerVieDEMO

2012-01-18 13:46:37

ARCiOS

2023-09-12 08:02:13

viewport斷點

2011-07-18 14:39:53

iPhone SDK UIKit
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产欧美在线一区二区 | 一区二区在线 | 老熟女毛片 | 久久草视频 | 一区二区三区四区在线播放 | 免费一级片 | 激情一区二区三区 | 国产精品久久久久久久模特 | 国产成人免费视频网站高清观看视频 | 国产电影一区二区在线观看 | 国产一区不卡 | 黄色网址大全在线观看 | 91天堂 | 综合欧美亚洲 | 国产区一区 | 久久伊人精品 | 九九在线视频 | 亚州影院 | 亚洲成人激情在线观看 | v片网站| aaaa日韩 | 国产99久久久国产精品 | 久久国内| 91网站在线观看视频 | 在线天堂免费中文字幕视频 | 在线亚洲人成电影网站色www | 国产一区二区电影 | 久久精品中文字幕 | 国产色在线 | 精品欧美一区二区三区免费观看 | 欧美精品一区在线发布 | 伊人网站在线观看 | 国产成人精品一区二区三区四区 | 精品伦精品一区二区三区视频 | 欧美不卡在线 | 成人在线观看欧美 | av中文字幕在线 | 有码在线 | 国产情侣啪啪 | 日韩视频区 | 亚洲 欧美 综合 |