热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

html5viewport总结讲述

本篇文章是关于HTML5中的viewport的一个讲述,对于HTML5中viewport不太熟悉的同学,我们可以一起看看本篇文章!来详细的了解一下html5中的viewport

本篇文章是关于HTML5中的viewport的一个讲述,对于HTML5中viewport不太熟悉的同学,我们可以一起看看本篇文章!来详细的了解一下html5中的viewport

总结下来无非围绕三个问题:
1、为什么要设置虚拟窗口
起初是为了使得虚拟窗口的分辨率和pc端接近,这样虚拟窗口依然能够完整显示 页面内容,只是页面内容比较小,需要通过手动缩放的方式来看清楚页面。
2、添加viewport有什么用
添加viewport是为了方便移动端的优化。设置虚拟窗口宽度为device-width,与设备的物理像素相同,这样我们就可以通过media来控制页面移动界面的显示方式。
3、设备屏幕宽度(即设备的物理像素)与分辨率的关系
以iphone6为例,其屏幕实际大小为375*667,然而其分辨率达到750*1334,这两者是不同的概念。
物理尺寸是指屏幕的实际大小。大的屏幕同时必须要配备高分辨率,也就是在这个尺寸下可以显示多少个像素,显示的像素越多,可以表现的余地自然越大。两台手机的屏幕大小差不多大,却一个只能显示两行汉字,另一个则可以显示五行汉字,抛开字体大小差别,关键就是屏幕的分辨率,后者分辨率大一些,自然在同样字体大小下可以显示更多行的汉字。彩屏手机的确好,没有足够大分辨率的屏幕表现,再高的颜色质量又有何用。


下面我们来解释一下viewport的作用和它怎样与media结合。
一个50像素宽的p在pc浏览器显示可能刚好,但是如果在手机浏览器显示就会显得过大。怎么解决这个问题呢?Apple找到了一个办法:在移动版(iOS)的Safari中定义了viewport meta标签,它的作用就是创建一个虚拟的窗口(viewport),而且这个虚拟窗口的分辨率接近于桌面显示器,Apple将其定位为980px。也就是当我用浏览器中打开任意的一个页面,这个页面的宽度为980px,而不是屏幕的物理宽度。
以一代iphone6下的Safari来说就是:
在iphone6的375px物理屏幕上——视觉窗口(visual viewport),创建出了一个980px的虚拟窗口——布局窗口(layout viewport),在视觉窗口(visual viewport)中我们可以拖动横向竖向滑动条或者放大缩小网页,来达到最佳的浏览效果(类似桌面浏览器);而布局窗口(layout viewport)用来配合CSS渲染布局,例如当我们设置一个容器的宽度为100%时,这个容器的实际值为980px而不是375px。如此一来大部分 网页就能以缩放的形式正常的显示在手机屏幕上了。

虚拟窗口980px在屏幕上的实际尺寸是多大?
iphone6屏幕的物理像素是375px,虚拟窗口的宽度是980px,这两者的1px大小是不想等,说得更简单一点就是此px非彼px,一个是用来形容实际窗口即视觉窗口的大小,一个是用来形容虚拟窗口的大小,没什么相关的。(可以通过chromn来检查页面在pc浏览器和手机浏览器的宽度。)

  • safari浏览器、opera浏览器、chromn浏览器 虚拟窗口大小默认都是980px,火狐浏览器默认开启手机模式,其虚拟窗口宽度就是设备宽度。

    智能手机创建出虚拟窗口后,又出现一个问题,pc端网页在手机浏览器打开后无论是字体还是其它元素都显得比较小,看起来比较吃力,动手缩放又显得比较麻烦。apple又弄出个viewport用来调整虚拟窗口的大小,一般我们会这样写

device-width表示设置虚拟窗口的大小同设备的物理像素宽度相等。这样方便我们使用media写一个专门适配移动端的页面,这样我们就可以在移动端看到合适大小的页面。

以上就是html5 viewport总结讲述的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 7.4 基本输入源
    一、文件流1.在spark-shell中创建文件流进入spark-shell创建文件流。另外打开一个终端窗口,启动进入spark-shell上面在spark-shell中执行的程序 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
  • 项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ... [详细]
  • 1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ... [详细]
author-avatar
也曾悲摧过_192
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有