准备-viewport-非主流分析 |学习笔记

简介: 快速学习 准备-viewport-非主流分析

开发者学堂课程【移动 Web 前端开发:准备-viewport-非主流分析】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/594/detail/8399


准备-viewport-非主流分析


内容介绍

一、viewport 标准化适配要求

二、Viewport 完成标准版设置

 

Viewport 为了移动端开发时需要准备的,具备适配方案

创建 viewport.html

<!--

1. 当把一个百分百的页面在移动设备浏览的时候﹑网页的宽度没有和设备的宽度一致

2. 移动设备的网页是基于什么来计算宽度的

3. 原因是在移动设备当中﹑浏览器和网页之间还有一层虚拟的容器这个容器叫viewport

4. viewport:::只在移动设备才有,默认就存在,虚拟的容器用来承载网页的,而且主流的设备当中的 viewport

 

一、viewport 标准化适配要求

1. 网页的宽度和浏览器一致网页的宽度和视口宽度一样然后视口的宽度和浏览的一样(和设备的一样)设置 width 和设备一样这里有一个特殊的值 width=device-width

缩放比例和 PC 一样 initial-scale=1.0

2.保证网页内容的缩放比和PC端保持一样视口的缩放比是1.o

设置 width 和设备一样这里有一个特殊的值 width=device-width 缩放比例和 PC一样initial-scale=1.0

3.不允许用户自行缩放视口禁止缩放user-scalable=0

 

二、Viewport 完成标准版设置

1.怎么设置 viewport

网页的加载和解析顺序是从上到下,目的是让浏览器优先解释,运用在网页上<meta name="viewport”/>

2.具体的功能怎么设置

width

设置视口的宽度

单位默认是 px 特殊的值 device-width 代表当前设备的宽度

initial-scale 设置视口的默认的缩放比

大于0小于1缩小大于1放大

user-scalable

设置视口是否运行用户自行缩放

0代表否1代表可以no yes

打开站点:m.hao123.com,按键盘F12,把他切换到移动端设备,刷新一下,打开<head>找到 viewport

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

width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no" >

打开站点:m.ctrip.com,按键盘F12,把他切换到移动端设备,刷新一下,打开<head>找到 viewport

meta name=""viewport" content="width=device-

arith,initial-scale=1.0,minimum-scale=1.0, maximum-scale=1.0.user-scalable=no,minimal-ui"">

打开主流站点:info.3g.qq.com,腾讯移动端官网,查看 viewport

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

width,initial-scale=1.0,maximum-scale-1.0,minimum-scale=1.0,user-scalable=no,shrink-to-fit=no"">

此 viewport 有点有特殊

打开京东:m.jd.com,找到 header,找到 viewport 设置

<metaname-"viewport"contentm"width=device-width,initial-sca-1.8,maximum-scale=1.0,user-scalable=0

刚才达到的都是移动端标准适配,打开淘宝站点:m.taobao.com,viewport超出了我们的想象

<metaname="viewport"content="initial-scale=0.5,maximum-scale=8.5, minimum-scale=0.5,user-scalable=no"" > 

此设备为 iphone 4

image.png

修改移动端设备为 iphone 6

image.png

网页都被缩放到0.5,只对 scale 进行缩放,一个和属性都可达到两个功能,只设置默认状态比,一个属性就可控制 

为什么产生0.5缩放?

原因在于2倍的概念,切换设备为 iphone  6 plus,就变成三倍的,由此查看 scale

<metaname="viewport" content="initial-scale=0.3333333333333333,maximum-

scale=6.3333333333333333,minimum-

scale=0.3333333333333333,user-scalable=no"> 

新建一个 html ,名为03 viewport 非主流 .html

<! DOCTYPE html><htm1>

<head lang="en">

<meta charset="UTF-8">

<title></title>

<!--

1.有些设备的缩放比是0.5网页的宽度是设备宽度的两倍

但是有些设备又是0.3333333 网页宽度是设备的三倍

问题:

在移动端的图片图标有失真问题的存在

2.解决移动设备显示图标图片失问题的提高页面的清晰和显示的细腻度 

3.移动设备使用老一点的设备使用眼睛可以看到颗粒把这样的颗粒称为物理像素点,,新的设备把像素点做的更小了,把像素点压缩到一块屏幕中去了,iphone3的320px乘以480,到了 iphone4 是640乘以960,此时说的分辨率是物理分辨率,多少像素是属于逻辑分辨率,意味着以前的设备 一个 px 尺寸放了一个物理像素点,现在一个px可以放置两个,到现在还有跟高清的设备可以放三个  ,使用的都是高清显示屏,比如说iphone 6 plus,414px 里面集成了1240个像素点  一个 px 尺寸屏幕里面有了多个物理像素点相当于把图片放大了。

4. 淘宝非标准化设置目的是为了提高页面的清晰和显示的细腻度

一般来讲,移动端的开发还是按照标准化方式,但也会面对图片失真问题,用标准化方式来做应该去解决这个问题,在进行开发的时候会遇到就可以学习如何解决了,现在只需把非标准化设置理解透彻,和移动端肯恩会产生图片失真问题就可以了。

</ head>

<body>

</ body>

</ html>

要原来的网页缩小三分之一,没有规律的缩放倍数,这样的设置和我们移动端的图片失帧有关系

平常都是1.0与 pc 端保持一致,这里为什么是0.5要进行缩放,在这里有一个问题:移动端的页面上的图片会有失真问题的存在。

如果现在的 viewport 是0.5,但是设备的宽度是320px,意味着原始页面的大小应该是640px。

找到<html>显示 640px×960px,进行了0.5倍的缩放正好放在了设备当中。

在<head>中可以看到:只对 scale 进行了缩放,讲解属性学习过一个属性可以达到两个功能。

当更换设备会发现缩放倍数出现 2倍 3倍等无规律的缩放,是因为移动端图片失真有关系。

当设备为 iPhone4是缩放倍数为2倍,iPhone 6 plus 时是3倍,这两种设备有什么区别?

普通显示屏幕:普通显示器,旧手机 后来发展出了

高清显示屏: 视网膜屏,retina屏  retina:是一种显示技术,可以把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻,也叫做视网膜显示屏

比如 iPhone 3是320px×480px,到了 iPhone 4是640px×960px,这里的分辨率是物理分辨率。意味着以前一个1px 尺寸里放了一个物理像素点,现在还是一个1px尺寸,但是可以放两个物理像素点,还有更高清的设备可以放更多。

发现一个规律:当设备为 iPhone 4时网页宽度是640px,是它的两倍,当设备为 iPhone 6 plus 时宽度是它的三倍,这和当前一个 px 显示几个物理像素点有关系,当设备为 iPhone 4 时能显示两个,网页大小就变成了640px,iPhone 6 plus 时能显示3个,这时候会有三倍网页。

物理像素比:一个 px 的宽度能放几个物理像素,iphone6 plus 一个放三个,iphone4 一个放置两个

一个 px 里装几个物理像素点有一个专业名字:物理像素比(一个 px 的宽度能放几个物理像素)

这样放置会产生图片失问题:图片失不是网页失,因为网页大部分都是矢量的,无论放大缩小都不会影响它的质量。但是图片是固定的质量大小

举例:两杯水大小不一致,老的设备就当作一个杯子,1kb图片放入杯子,1kb大小为1px,老的设备是1px大小正好放入,新的设备里面有两个物理像素,相当于就有两个杯子了,每一个物理像素点仅仅只有半杯水,原来装1px大小是装满的,相当于平均分配我 kb 的,没有饱和就相当于把它放大了

如何解决此问题?

多个物理像素存在一个图片肯定比一个存放一个放大了

淘宝非标准化把整个页面放大640,整个图标也会放大,如果压缩,原始尺寸还是640,原始图片还是100,当我是高清屏是,物理像素依旧饱和,依然提高图片清晰度。

image.png

同样道理,当设备换位 iphone6 plus,此时就是3个,原来的三倍再压缩一下也是饱和,这样来提高图片清晰度和显示,解决图片失真问题。

相关文章
|
3月前
|
前端开发
【前端web入门第五天】02 盒子模型基础
本文档详细介绍了CSS中的盒子模型及其组成部分,包括内容区域、内边距、边框线和外边距。通过具体示例展示了如何设置边框线、内边距及外边距,并解释了尺寸计算方法和版心居中的技巧。内容丰富,示例清晰,有助于理解盒子模型在网页布局中的应用。
|
4月前
|
前端开发 容器
解锁CSS定位奥秘,从迷茫到精通,让你的网页布局“稳如老狗”,引领前端新潮流!
【8月更文挑战第23天】本文深入探讨了Web前端开发中CSS定位的三大基石:相对定位、绝对定位与固定定位。通过具体示例,展示了各种定位方式的特点及应用场景。相对定位可在不影响布局的情况下微调元素位置;绝对定位使元素完全脱离文档流,适用于精确控制位置的需求;固定定位则确保元素始终固定于浏览器窗口特定位置,不受页面滚动影响。这些技巧对于实现复杂网页布局至关重要。
73 0
|
存储 JSON 缓存
大麦 Android 选座场景性能优化全解析
大麦 Android 选座场景性能优化全解析
470 1
大麦 Android 选座场景性能优化全解析
|
存储 Android开发
探析Android中的四类性能优化(二)
在上一篇文章 初识性能优化 中我们提到我们需要从流畅性优化、资源优化、稳定性优化 和 系统级优化 这四个层面来对Android中的软件做优化。
探析Android中的四类性能优化(二)
|
缓存 安全 开发工具
探析Android中的四类性能优化(一)
在上一篇文章 初识性能优化 中我们提到我们需要从流畅性优化、资源优化、稳定性优化 和 系统级优化 这四个层面来对Android中的软件做优化。
探析Android中的四类性能优化(一)
|
Web App开发 搜索推荐 数据安全/隐私保护
如虎添翼!6款备受欢迎的Edge浏览器插件
Microsoft Edge以其低资源消耗、强大的安全性和丰富的创新功能,使其备受欢迎。Edge浏览器正在逐渐替代Chrome成为很多用户的首选浏览器。
如虎添翼!6款备受欢迎的Edge浏览器插件
|
存储 JSON 安全
面试查缺补漏,android核心知识:组件篇
  前言   最近一段瞎xx百度,无意中发现一个帖,看帖子的质量肯定是被转载不知道多少次了,来出处都已经不见了,但是博主的质量比较的高。甚至把这篇文章的内容当做面试前的查缺补漏也是非常合适的。   总之是一篇质量非常给常高的文章。所以忍不住在这里发了出来。如果原作者看到这篇文章,觉得不妥。私聊我就会删掉。   一、应用组件
147 0