viewport(视口)

  1. 具体数值(不设置时默认为980 ,部分安卓手机不支持设置成具体数值)
  2. width=device-width 和设备宽度保持一致
  3. user-scalable=no 是否允许用户缩放no/yes(iOS10不支持 近乎无解)
  4. initial-scale 初始缩放比例
  5. minimum-scale 最小缩放比例
  6. 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里设置使页面显示相同宽度,显示相同像素大小)的更多相关文章

  1. 在Linux系统中如何设置APACHE服务器里的后台页面只允许某个IP地址访问

    补充资料 本网络中使用LINUX服务器,web服务器是由APACHE搭建,IP地址为192.168.1.5,后台页面为/admin/login.jsp . 如何设置后台页面LOGIN.JSP只允许19 ...

  2. 移动端布局基础viewport

    划重点 手机屏幕相对着桌面浏览器小,传统网页的设计在手机上体验糟糕 Apple 在移动版 Safari 中定义了 viewport meta 标签(如果没记错最早提出的话),用于创建一个虚拟窗口(la ...

  3. 移动端布局,C3新增属性

    <html5拖拽> 1.给元素设置 draggable="true" 属性,这个元素就可以被拖拽了 <拖拽元素事件> 2.ondragstart 拖拽前触发 ...

  4. 如何做好移动端的响应式设计:Viewport控制

    新人翻译,欢迎转载~ 英文原文地址:http://bitsofco.de/2015/respove-design-viewport/ 原文例程地址:https://github.com/ireade/ ...

  5. 移动端布局Demo展示图文

    上两张图自勉一下(来自刘墉先生的文章,最近看他的作品):然后移动端该愈来愈受到重视,未来的市场我不知道,不过我知道手机的功能越来越强大是不争的事实!移动端布局的积累也需要从现在做起! 需求一:实现下图 ...

  6. web移动端布局方式整理

    写H5页面一直写的有点随意,只是保证了页面在各个屏幕下显示良好,却没有保证到在各个屏幕下是等比例放大或者缩小.这些天在写一些页面,试着看看能不能写出等比例放大缩小的页面,发现不容易啊,在网上找了一些文 ...

  7. 移动端布局 - REM方式

    默认以宽度为640px的设计稿为基准页面,然后通过JS获取当前显示设备的尺寸,对应的调整 html 标签的font-size大小,从而实现通过以rem为单位的移动端布局适配. 具体代码 (functi ...

  8. Vuex里的module选项和移动端布局

    Vuex里的modules 在store文件夹里创建一个modules的文件夹,里面随意创建一个.js文件,然后export输出

  9. 页面自适应<meta name="viewport">标签设置

    viewport: 它在页面中设置,是应对手机模式访问网站.网页对屏幕而做的一些设置.通常手机浏览器打开页面后,会把页面放在一个虚拟的“窗 口”–这个比窗口大,也就是你常发现页面可以进行拖动.放大放小 ...

随机推荐

  1. phpcms模块安装

    工作中需要用到 phpcms开源框架,借鉴了   http://www.cnblogs.com/benpaodelulu/p/6874201.html这个地址,搞定的 ,非常实用 如果有用到的朋友们可 ...

  2. 总结:js世界中的特殊符号

    常用符号:+ ++ - -- || / /' && 等 这些基本上每天都能用到,但是 js 世界中有些特殊符号是不常用的,我也是偶然在阅读大神代码的时候发现的,一番查找之后得出了以下结 ...

  3. 设置共享内存大小 【windows】

    hMapFile = CreateFileMapping( INVALID_HANDLE_VALUE, // use paging file NULL, // default security PAG ...

  4. salesforce零基础学习(九十六)Platform Event浅谈

    本篇参考:https://developer.salesforce.com/blogs/2018/07/which-streaming-event-do-i-use.html https://trai ...

  5. 分享一批国内常用的tracker地址

    本期先分享一批国内能用地址,下一期我会出一期取代迅雷的下载的工具教程. udp://p4p.arenabg.com:1337/announce udp://tracker.tiny-vps.com:6 ...

  6. ACM-ICPC 2019 山东省省赛 C Wandering Robot

    这个题额,我觉的是一道水题,思维题,需要考虑的情况比较多,题意一个机器人给一条指令,循环n遍,问此过程中离原点最远距离. 考虑最远距离可能出现的的情况. 每次循环之后距离至少为0: 1.假设他每一次循 ...

  7. RF(IF 判断)

    1.关键字 Run Keyword If,格式如下: ELSE   必须大写 ELSE   前面需要加 "..." 表示缩进 Run Keyword If a == b log T ...

  8. Shell脚本(四)数组

    平时写脚本还没有用到过数组,暂时先记录下用法. #!/bin/bash array1=( ) array1_length=${#array1[@]} echo "array1 length: ...

  9. c++ concurrency

    c++的并发涉及到这么几个东西: std::thread std::mutex std::lock_guard std::lock 参考资料: http://en.cppreference.com/w ...

  10. Integer和int及String的总结

    秉承着总结发表是最好的记忆,我把之前遇到的问题在这里总结和大家分享一下,希望大家共同进步: 一.Integer和int首先说下自动拆装箱,基本数据类型转换为包装类型的过程叫装箱,反之则是拆箱,其中最特 ...