wap手机端页面根据dpr和宽度计算出font-size对应数值_html/css_WEB-ITnose
最近在进行公司的wap端首页改版和添加活动页面,为了做的效果更好一些,就参考淘宝和京东的wap版,然后对淘宝的wap做了一些分析,淘宝的wap触屏版做的自适应和兼容性很不错,于是整理了下。
wap手机端页面根据dpr和宽度计算出font-size对应数值表如下:
dpr | 最小宽度320px | 最大宽度540px | 系数 |
1 | 20px | 33.75px | 0.0625 |
2 | 40px | 67.5px | 0.125 |
3 | 60px | 101.25px | 0.1875 |
备注:
1、是按照倍数关系增加的
2、手机淘宝就是按照这种方式计算的m.taobao.com
3、因为我PHPer,不是专业的前端,如果有错,请指导下,谢谢。
附件:
1、js代码计算方式:
//通过手机屏幕dpr和手机宽度来确定font-size的值
function autorun() {
//初始值
var default_width = 20;
var default_dpr = 1;
var dpr = window.devicePixelRatio;
var width = screen.width;
var html_style = '';
var body_style = '';
//dpr倍数
var difference = dpr / default_dpr;
//计算
if (difference === 1 || difference === 2 || difference === 3) {
var default_min_size = 20 * difference;
var default_max_size = 33.75 * difference;
var default_coefficient = 0.0625 * difference;
html_style = get_font_size(width, default_min_size, default_max_size, default_coefficient);
body_style = 'font-size:' + difference * 12 + 'px';
} else {
html_style = get_font_size(width, 20, 33.75, 0.0625);
body_style = 'font-size:12px';
}
//进行dom操作
$("html").attr('style', html_style);
$("body").attr('style', body_style);
}
/**
* 通过手机屏幕dpr和手机宽度来确定font-size的值
* @param {int} width
* @param {int} default_min_size
* @param {int} default_max_size
* @param {int} default_coefficient
* @returns {String}
*/
function get_font_size(width, default_min_size, default_max_size, default_coefficient) {
var style = '';
//屏幕宽度需要在320-540之间进行计算
if (width
style = 'font-size:' + default_min_size + 'px';
} else if (width > 540) {
style = 'font-size:' + default_max_size + 'px';
} else {
var difference = width - 320;
var fontsize = default_min_size + difference * default_coefficient;
style = 'font-size:' + fontsize + 'px';
}
return style;
}
2、参考文章:
http://www.zhangxinxu.com/wordpress/2012/08/window-devicepixelratio/
3、参考JS函数:
var dpr = window.devicePixelRatio; //获取手机屏幕dpr
var width = screen.width; //获取手机屏幕宽度
4、测试工具:
使用谷歌自带开发者中心的手机模拟测试

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了视口元标签,这对于移动设备上的响应式Web设计至关重要。它解释了如何正确使用确保最佳的内容缩放和用户交互,而滥用可能会导致设计和可访问性问题。

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文解释了HTML5< time>语义日期/时间表示的元素。 它强调了DateTime属性对机器可读性(ISO 8601格式)的重要性,并在人类可读文本旁边,增强Accessibilit

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。
