移动端布局的一些设置(在viewport里设置使页面显示相同宽度,显示相同像素大小)
viewport(视口)
- 具体数值(不设置时默认为980 ,部分安卓手机不支持设置成具体数值)
- width=device-width 和设备宽度保持一致
- user-scalable=no 是否允许用户缩放no/yes(iOS10不支持 近乎无解)
- initial-scale 初始缩放比例
- minimum-scale 最小缩放比例
- maximum-scale 最大缩放比例
页面宽度
页面宽度=device-width/scale
在页面中实现等比像素的JS代码:
<!--利用页面的像素比来进行页面的缩放 显示等比像素 但每个设备不是相同宽度-->
<script type="text/javascript">
(function(){
var meta = document.createElement("meta");
var scale = 1/window.devicePixelRatio;
meta.name = "viewport";
meta.content = "initial-scale="+scale+",minimum-scale="+scale+",maximum-scale="+scale;
document.head.appendChild(meta);
})();
</script>
在页面中实现相同宽度显示的JS代码:
<!--页面宽度适配 显示相同宽度 但每个设备所显示的像素大小不一样-->
<script type="text/javascript">
(function(){
var meta = document.createElement("meta");
var width = window.screen.width;
var targetWidth = 320;
var scale = width/targetWidth;
meta.name = "viewport";
meta.content = "initial-scale="+scale+",minimum-scale="+scale+",maximum-scale="+scale;
document.head.appendChild(meta);
})();
</script>
window.devicePixelRatio 像素比
[不可改变,只能获取]
1px的内容放大N倍显示
[像素比为2 整个页面的内容就被放大两倍显示]
分辨率:屏幕图像的精密度,是指显示器所能显示的点数的多少
分辨率越高,像素越大,在相同宽度下,屏幕所能显示出来的东西越多,但是显示出来就越小。
移动端布局
- 1em=当前元素的一个文字大小
- rem(root em) 1rem=html的一个文字大小
- [rem布局原理简单的来说就是把页面虚拟成一个网格,每行的格子的大小都是一致的,每行的格子也是固定的,我们在设置元素的尺寸的时候,不在固定使用PX,而是设置占了多少格格子,然后在根据页面宽度的不同,来修改每个格子的大小,从而使页面等比的缩放. ]
- 通过js获取页面的宽度
<script type="text/javascript">
(function(){
var html = document.documentElement;//获取到HTML
var width = html.clientWidth// 获取html的宽度
//html.style.fontSize html的字体大小
html.style.fontSize = width/10 + "px";
//console.log(width);
// 1rem = 1个格子的大小
})();
</script>
- [ 使用rem时,注意页面接受的最小字体是12px,所以一般不会分超过25个格子,一般要适配最小的宽度是320 ]
移动端布局的一些设置(在viewport里设置使页面显示相同宽度,显示相同像素大小)的更多相关文章
- 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问
补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许19 ...
- 移动端布局基础viewport
划重点 手机屏幕相对着桌面浏览器小,传统网页的设计在手机上体验糟糕 Apple 在移动版 Safari 中定义了 viewport meta 标签(如果没记错最早提出的话),用于创建一个虚拟窗口(la ...
- 移动端布局,C3新增属性
<html5拖拽> 1.给元素设置 draggable="true" 属性,这个元素就可以被拖拽了 <拖拽元素事件> 2.ondragstart 拖拽前触发 ...
- 如何做好移动端的响应式设计:Viewport控制
新人翻译,欢迎转载~ 英文原文地址:http://bitsofco.de/2015/respove-design-viewport/ 原文例程地址:https://github.com/ireade/ ...
- 移动端布局Demo展示图文
上两张图自勉一下(来自刘墉先生的文章,最近看他的作品):然后移动端该愈来愈受到重视,未来的市场我不知道,不过我知道手机的功能越来越强大是不争的事实!移动端布局的积累也需要从现在做起! 需求一:实现下图 ...
- web移动端布局方式整理
写H5页面一直写的有点随意,只是保证了页面在各个屏幕下显示良好,却没有保证到在各个屏幕下是等比例放大或者缩小.这些天在写一些页面,试着看看能不能写出等比例放大缩小的页面,发现不容易啊,在网上找了一些文 ...
- 移动端布局 - REM方式
默认以宽度为640px的设计稿为基准页面,然后通过JS获取当前显示设备的尺寸,对应的调整 html 标签的font-size大小,从而实现通过以rem为单位的移动端布局适配. 具体代码 (functi ...
- Vuex里的module选项和移动端布局
Vuex里的modules 在store文件夹里创建一个modules的文件夹,里面随意创建一个.js文件,然后export输出
- 页面自适应<meta name="viewport">标签设置
viewport: 它在页面中设置,是应对手机模式访问网站.网页对屏幕而做的一些设置.通常手机浏览器打开页面后,会把页面放在一个虚拟的“窗 口”–这个比窗口大,也就是你常发现页面可以进行拖动.放大放小 ...
随机推荐
- 常用的python开发工具对比
一名优秀的Python开发人员都有一套好用的Python开发工具,好的开发工具可以使Python开发人员的工作更高效,以下是几款比较好用的Python开发工具,Python开发人员,尤其是初学者,可以 ...
- PHP 获取前两页的url地址
通过隐藏表单控件 <input type="hidden" name="prevurl" value="<?php echo $_SERV ...
- MySQL数据库缓存操作
安装: 启动的话: -d:以后台的方式进行: -l:选择监听指定的ip服务地址:-m:给他分配多大的内存:-p:端口号默认的端口为11211的服务端口: 另一个: 安装:telnet 这个可以用来测试 ...
- Django ORM 查询表中某列字段值
场景: 有一个表中的某一列,你需要获取到这一列的所有值,你怎么操作? 解决办法: 有一个model为:Event 方式一: 获取内容: Event.objects.values('title') 输出 ...
- 异常:由 spring-session pom 引发
错误异常 Correct the classpath of your application so that it contains a single, compatible version of o ...
- PCA主成分分析(上)
PCA主成分分析 PCA目的 最大可分性(最大投影方差) 投影 优化目标 关键点 推导 为什么要找最大特征值对应的特征向量呢? 之前看3DMM的论文的看到其用了PCA的方法,一开始以为自己对于PCA已 ...
- JavaScript面向对象的作用域链(转载)
JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...
- 让pomelo可以获取到反向代理websockets的真实用户IP
/node_modules/pomelo/lib/connectors/hybridsocket.js 找到 var Socket = function(id, socket) { 给remoteAd ...
- 一只简单的网络爬虫(基于linux C/C++)————开篇
最近学习开发linux下的爬虫,主要是参考了该博客及其他一些网上的资料.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息 ...
- FastDFS文件服务器安装指南附安装包和自启动(看此篇就够了)
安装包在最后,本文为博主自己亲自安装记录 转载请注明出处 注意文字不清晰请放大看,放大看!! 安装包地址