当前位置: 首页 > Web前端 > HTML5

移动端开发基本概念(视口、物理像素、设备像素比、多图、特殊样式、技术方案...)

时间:2023-04-05 21:16:15 HTML5

视口布局视口、可视视口和理想视口布局在手机上显示早期的PC端页面。iOS和Android基本上将此视口分辨率设置为980px。所以PC端的网页大部分都可以在手机端呈现,只是元素和文字看起来很小。视觉视口:是用户正在看到的网站区域。您可以通过缩放操作视觉视口,但不会影响布局视口,布局视口仍会保持原来的宽度。理想视口:设置为使网站在移动端有最理想的浏览阅读宽度(即无需缩放或水平滚动即可查看网站所有内容),此视口适用于有专门适配了移动端。需要添加viewportmeta标签,让layoutviewport和idealviewport一样宽(width=device-width。即设备有多宽,layoutviewport的宽度)。viewportmetatagwidth:设置视口宽度(可以设置为device-width或像素值)【推荐为device-width】。user-scalable:用户是否可以缩放(是/否)[推荐为否]。initial-scale:初始比例因子[推荐为1.0]。maximum-scale:最大缩放比例[推荐为1.0]。minimum-scale:最小缩放比例[推荐为1.0]。物理像素、设备像素比、多倍图像物理像素是指屏幕上的像素,物理上真实存在,由厂商在出厂时设定。比如苹果6/7/8的物理像素是750*1334。Devicepixelratio在PC端页面,1px是1个物理像素,但在移动端不一定是1个物理像素。早期手机的屏幕和PC端一样,1px就是1个物理像素,但是Retina显示技术将更多的物理像素压缩到一块屏幕上,提高了手机的分辨率,让显示效果更加细腻(即1px等于2个物理像素比1px等于1个物理像素更清晰细腻)。一个px所能显示的物理像素的个数称为设备像素比(window.devicePixelRatio)。

多图概念例如一张50*50的图片在iPhone8(Retina屏)上打开,会按照设备像素比例放大(实际占用的物理像素为100*100),这会造成图片模糊。这个问题可以用双图来解决。通常使用双图(适用于iPhone6/7/8),但也有需要三图和四图的情况(根据设备像素比)。将准备好的100*100图片(双图)缩放到50*50,在iPhone8上实现清晰细腻的显示效果。缩放方法缩放图片,直接使用width和height即可。对于背景图像的缩放,请使用background-size属性。对于CSSSprites图片的缩放,分为以下几个步骤(以双图为例):将sprite图片放入图片处理软件(PS/Firewords),限制纵横比,然后缩小宽度的一半。使用切片工具,根据需要的宽高,测量出要使用的sprite图片,得到坐标点。写代码:使用background-position填充坐标点;使用background-size将CSSSprites图像的宽度设置为原始宽度的一半,不设置高度或将其设置为自动,就完成了。特殊样式//a标签在移动端点击时背景色会变成蓝色(高亮)。-webkit-tap-highlight-color:透明;//设置为透明以去除高光。//在iOS端,输入控件将具有默认样式。-webkit外观:无;//去掉iOS端input的默认样式,方便自定义样式。//对于图片和链接,往往不需要长按页面弹出菜单。img,a{-webkit-touch-callout:none;}//禁用长按弹出菜单移动端技术方案目前移动端的技术方案大致分为两种:单独制作移动端页面(主流)响应式页面兼容移动端(实际开发中会涉及到很多兼容性问题)