全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

关于meta viewport中target-densitydpi属性详解(推荐)

前段时间在做WAP页面,发现页面设置了meta viewport中的大众属性,即:

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

但发现页面依旧不根据手机屏幕进行自动缩放,后来找其他同事帮忙解决了,我看了源代码发现了是在原来的viewport中增加了target-densitydpi属性。看之初不太了解,也因为当时自己手上有其他需求在处理,最近突然想起了这件事,准备对它做一些了解,以备不时之需。

首先来了解一下这个属性到底是做什么的,从网上摘录了一段简介,如下:

一个屏幕像素密度是由屏幕分辨率决定的,通常定义为每英寸点的数量(dpi)。Android支持三种屏幕像素密度:低像素密度,中像素密度,高像素密度。一个低像素密度的屏幕每英寸上的像素点更少,而一个高像素密度的屏幕每英寸上的像素点更多。android Browser和WebView默认屏幕为中像素密度。

下面是 target-densitydpi 属性的 取值范围

device-dpi –使用设备原本的 dpi 作为目标 dp。 不会发生默认缩放。
high-dpi – 使用hdpi 作为目标 dpi。 中等像素密度和低像素密度设备相应缩小。
medium-dpi – 使用mdpi作为目标 dpi。 高像素密度设备相应放大, 像素密度设备相应缩小。 这是默认的target density.
low-dpi -使用mdpi作为目标 dpi。中等像素密度和高像素密度设备相应放大。
<value> – 指定一个具体的dpi 值作为target dpi. 这个值的范围必须在70–400之间。

注:以上信息取自https://www./html5/177188.html

上面的信息我也从android官网找到了相关资料,这个资料在上面URL页面中都进行了翻译!

从这段简介可以得到如下信息:

1、它是指的屏幕分辨率,现在绝大多数智能手机屏幕都是可以通过viewport中的width来页面宽度的调整,其实我的理解就是调整屏幕显示该页面的分辨率,只是这个值不是直观来设置,而是浏览器通过width值来进行计算得出。

2、这个属性只对android系统起作用,专有属性。iOS不支持它,所以说起来,还是有兼容性问题,如果页面是兼容ios和android的话。

3、这个属性取值还挺多的,不过,一般个人使用较多的可能会是第五种,即自定义,因为这个不需要记住前端四个值的单词。

有了这些信息,我也拿出了三星i9100进行了测试,效果如下:

先贴HTML结构:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>无标题文档</title> 
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no,target-densitydpi=360" /> 
<link href="inc/base-min.css" rel="external nofollow" rel="stylesheet" type="text/css"> 
<style type="text/css"> 
body{border:4px solid #F00;} 
</style> 
</head> 
 
<body> 
<p>如果你要为网页针对不同屏幕分辨率修改,用 -webkit-device-pixel-ratio这个media标签或在js中用 window.devicePixelRatio这个方法,设置target-densitydpi标签和device-dpi属性。这让你的定制更具有灵活性。</p> 
<p>在iOS中有两个meta值, apple-mobile-web-app-capable 和apple-mobile-web-app-status-bar-style,这两个会让网页内容以应用程序风格显示,并使状态栏透明。</p> 
<div class="demo"> 
<img src="images/mm1.jpg"> 
<br /> 
<img src="images/mm2.jpg"> 
<br /> 
<img src="images/mm3.jpg"> 
</div> 
</body> 
</html> 

chrome android版()
属性的所有取值都不支持!

效果:



UC(最新版V9.1)

所有属性都有支持,具体情况如下:

device-dpihigh-dpimedium-dpilow-dpi70360400

系统自带(android 4.1.2)

所有属性都有支持,具体情况如下:

device-dpihigh-dpimedium-dpilow-dpi70360400

查看测试时,虽然同时注意图片与文字大小的变化!

总结:

从各浏览器的测试效果来看,只有android WEB和UC支持这个属性,依目前国内手机浏览器的占比来看,UC使用率还是非常高的,所以,在android方面使用这个属性去解决问题的话,还是可以得到大面积支持的。另外关于这个属性中最后一个自定义取值,当值超过最大值400或小于最小值70的时候,所设置的自定义值将被忽略,系统将会使用默认值medium-dpi来显示。

另外,在搜寻这个属性的同事,从网上得到的另一个信息是关于WEBKIT对于这个属性不再进行支持,具体信息如下:

https://lists.webkit.org/pipermail/webkit-dev/2012-June/020914.html
There's some concern that target-densitydpi is used by some apps that
are bundled with Android, but folks appear willing to deprecate the
feature and to migrate those apps to using other mechanisms, such as
responsive images and CSS device units.

不过,经过我个人测试至少android目前的4.1.2对这个属性还是会有支持,或许之前的老版本也会有支持!

以上信息都是经过个人测试得到,如果有不同的见解,也希望大家能进行交流,谢谢!

另外,对于WEBKIT不在再这个属性的另一个解决办法是网络上提到比较多的二种方案:

1、responsive images

2、CSS device units

参考链接:https://www./article/121515.htm

参考链接:https://www./article/121531.htm

这二个东西到底如何,我也将会做进一步的了解。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对的支持!


# meta  # viewport  # target-densitydpi属性  # 解决PhoneGap不支持viewport的几种方法  # 深入理解移动前端开发之viewport  # 详解jquery插件jquery.viewport.js学习使用方法  # 自适应布局meta标签中viewport、content、width、initial-scale、m  # 通过viewport实现jsp页面支持手机缩放  # 关于viewport  # Ext.panel和Ext.form.panel的关系  # ExtJs 学习笔记 Ext.Panle Ext.TabPanel Ext.Viewport  # 如何基于viewport vm适配移动端页面  # 我也  # 自定义  # 都是  # 高像素  # 都有  # 会有  # 将会  # 可以得到  # 具体情况  # 进行了  # 这是  # 如果你  # 是在  # 都不  # 是有  # 不时之需  # 不太  # 是由  # 是指  # 做什么 


相关文章: 广东专业制作网站有哪些,广东省能源集团有限公司官网?  如何通过服务器快速搭建网站?完整步骤解析  建站之星如何优化SEO以实现高效排名?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  如何在阿里云域名上完成建站全流程?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何自定义建站之星模板颜色并下载新样式?  已有域名如何免费搭建网站?  高性价比服务器租赁——企业级配置与24小时运维服务  网站专业制作公司有哪些,做一个公司网站要多少钱?  已有域名和空间如何搭建网站?  如何快速上传自定义模板至建站之星?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何快速搭建高效简练网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何彻底删除建站之星生成的Banner?  ,在苏州找工作,上哪个网站比较好?  香港网站服务器数量如何影响SEO优化效果?  安徽网站建设与外贸建站服务专业定制方案  建站之星安装模板失败:服务器环境不兼容?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站之星后台密码遗忘如何找回?  如何基于云服务器快速搭建网站及云盘系统?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  建站之星24小时客服电话如何获取?  郑州企业网站制作公司,郑州招聘网站有哪些?  小建面朝正北,A点实际方位是否存在偏差?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  建站之星代理商如何保障技术支持与售后服务?  制作网站公司那家好,网络公司是做什么的?  高端企业智能建站程序:SEO优化与响应式模板定制开发  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  制作网站的公司有哪些,做一个公司网站要多少钱?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站主机是否属于云主机类型?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  高端网站建设与定制开发一站式解决方案 中企动力  开封网站制作公司,网络用语开封是什么意思?  安云自助建站系统如何快速提升SEO排名?  建站之星后台管理系统如何操作?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  建站之星如何快速生成多端适配网站?  贸易公司网站制作流程,出口贸易网站设计怎么做?  公司网站的制作公司,企业网站制作基本流程有哪些?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  如何用AWS免费套餐快速搭建高效网站?  内网网站制作软件,内网的网站如何发布到外网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。