第一课 移动端&响应式
一、调试工具介绍(Chrome Emulation)
1.Device(设备相关)
自定义尺寸、Network(网络模拟)、UseAgent(浏览器信息)、缩放
2.Media(媒体)
3.Network(网络模拟)
4.Senors(传感器)
经纬度、陀螺仪
二、本地服务器搭建
1.搭建服务器 || HBuilder
2.同一网络下用设备连接
*关闭防火墙
三、像素比
1.点 point(抽象单位)
2.像素渲染(栅格化)
3.物理像素(调整大小)
4.dpi、ppi
5.获取像素比(window.devicePixelRatio)
四、viewport(视口)
1.width 设备宽度[pixel_value | device-width]
2.user-scalable 是否允许缩放(no || yes)
3.initial-scale 初始比例
4.minimum-scale 允许缩放的最小比例
5.maximum-scale 允许缩放的最大比例
6.target-densitydpi (已淘汰)
7.动态控制比例 1/像素比
五、前期准备
1.布局单位介绍选择
2.默认样式处理
-webkit-tap-highlight-color:transparent;
input{-webkit-appearance:none;}/*去除input默认样式*/
3.框架搭建
4.横竖屏适配
getBoundingClientRect().width
resize.orientationchange
六、媒体查询
all 所有媒体
braille 盲文触觉设备
embossed 盲文打印机
print 手持设备
projection 打印预览
screen 彩屏设备
speech ‘听觉’类似的媒体类型
tty 不适用像素的设备
tv 电视
七、媒体特征
min-width 分辨率宽度大于等于设备值得时候识别
max-width 分辨率宽度小于等于设备值的时候识别
orientation:portraint 竖屏
orientation:landscape 横屏
-webkit-min-device-pixel-radio:2 像素比
八、关键字
and 和、与(连接媒体特性)
not 排除指定媒体类型
only 指定某种特定的媒体类型(很多时候是用来对那些不支持媒体特性但却支持媒体类型的设备)
九、样式引用
外联样式表 link[media="all and (min-width:600px)"]
@import @import url(index.css)all and (min-width:600px)
十、常规尺寸
@media all and (min-width:1200px){//大分辨率(PC分辨率、TV)}
@media all and (min-width:850px) and (max-width:1199px){//中等分辨率(PC小分辨率 || pad)}
@media all and (min-width:700px) and (max-width:849px){//pad分辨率}
@media all and (min-width:480px) and (max-width:699px){//高分辨率手机设备 || 低分辨率平板}
@media all and (max-width:479px){//手机设备}
补充:
一、移动开发需求
1.让页面的宽度跟访问设备的宽度一致 device-width
2.不让用户进行页面缩放 user-scalable = no
3.控制像素比
(如何让1px做1px的事情?a 1:1像素还原 b 尽可能的和设备分辨率一致)
通过JS控制像素比:
<script>
//获取像素比
var pixelRatio = 1/window.devicePixelRatio;
//通过JS动态设置视口(viewport)
document.write('<meta name = "viewport" content = "width = device-width,initial-scale = '+pixelRatio+',minimum-scale = '+pixelRatio+'"/>')
</script>
二、移动布局步骤
1.确定尺寸(设计稿)并且还得再符合该尺寸的模拟器下进行第一次预览
2.搭建大体框架
三、单位对比
px 绝对(固定)单位
缺点:任何情况下都是固定值,会导致布局在不同尺寸的设备下错位
% 相对单位(会有影响发生变化)相对于父级(自身)大小进行计算
缺点:能确定范围的还是比较好计算的,对于不太好确定值的地方不好使用百分比,并且会导致变形
em 相对单位(会有影响发生变化)em=当前字体大小
缺点:会根据当前容器字体大小发生变化,假如每个容器字体大小不一致,那么计算会非常麻烦
rem r=root em=字体大小font size 相对单位 只依赖HTML字体大小
四、动态设置字体大小
<script>
//条件:尺寸越大,则字体越大,尺寸越小,则字体越小
//获取html节点
var html = document.getElementByTagName('html'[0]);
//获取屏幕宽度
var pageWidth = html.getBoundingClientRect().width;
//屏幕宽度/固定数值=基准值
html.style.fontsize = pageWidth/10 + 'px';
</script>
移动端固定定位的方法:
html{width:100%;height:100%;overflow:hidden;}
body{width:100%;height:100%;overflow:auto;}
需要定位的元素使用position:absolute;top:0;left:0;
第一课 移动端&响应式的更多相关文章
- 探讨兼容IE低版本的PC端响应式布局
http://www.jiangweishan.com/article/lowIeResposive.html 响应式布局,oh my god!!有点醉了,感觉是老生常谈的话题了.虽然已经谈过很多了, ...
- 移动端使用rem同时适应安卓ios手机原理解析,移动端响应式开发
rem单位大家可能已经很熟悉,rem是随着html的字体大小来显示代表宽度的方法,我们怎样进行移动端响应式开发呢 浏览器默认的字体大小为16px 及1rem 等于 16px 如果我们想要使1rem等于 ...
- 基于REM的移动端响应式适配方案
视口 在前一段时间,我曾经写过一篇关于viewport的文章.最近由于在接触移动端开发,对viewport有了新的理解.于是,打算重新写一篇文章,介绍移动端视口的相关概念. 关于这篇文章说到的所有知识 ...
- 移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景
媒体查询作为响应式布局的方法之一,实际项目中用途也很广.但是你真的知道怎么用吗? 例如,下面匹配 iphone6/7/8 屏幕 @media screen and (max-width: 375px) ...
- 【CSS-移动端响应式布局详解】
背景 移动端响应式布局开发主要方案有: 基于rem开发 基于媒体查询 基于弹性盒 基础概念 在讨论响应式布局知识前,先了解下移动端常用基础概念. 逻辑像素(CSS pixels) 浏览器使用的抽象单位 ...
- 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范
基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...
- web前端-移动端响应式与自适应
一. 在HTML的头部加入meta标签 在HTML的头部,也就是head标签中增加meta标签,告诉浏览器网页宽度等于设备屏幕宽度,且不进行缩放,代码如下: <meta name="v ...
- 前端笔记之移动端&响应式(上)媒体查询&Bootstrap&动画库&zepto&velocity
一.媒体(介)查询 1.1 基本语法 媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成.媒体查询中可用于检测的媒体特性有:width.height和color(等).使用媒体查询可以在不改变 ...
- PC 端响应式布局
前言:PC端 电脑显示器的尺寸种类还是很多的,台式电脑和笔记本电脑尺寸相差就更明显,所以响应式布局还是很重要的,甚至是必须要考虑的. 响应式的页面好不好,在后管平台上很明显.因为后管平台,一般是全屏显 ...
随机推荐
- iOS开发——高级篇——传感器(加速计、摇一摇、计步器)
一.传感器 1.什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下 ...
- .net生成二维码
下好QRCode.dll引用到项目中 using System; using System.Collections.Generic; using System.Linq; using System.W ...
- windowSoftInputMode属性讲解
windowSoftInputMode属性讲解(下面这段内容我参考别人的博客,并加入我的一些意见) 我们从这个属性的名称中,可以很直观的看出它的作用,这个属性就是来设置窗口软键盘的交互模式的.andr ...
- leetcode 236. Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
- Android学习笔记(八)——四种基本布局
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,或是嵌套子布局,从而编写出精美的界 ...
- pro*c添加SQLCHECK后编译报错PLS-S-00201
如果在pro*c中调用数据库了里的函数,就需要在proc的cfg配置文件中添加一行: SQLCHECK=SEMANTICS 但是添加之后又会出现PLS-S-00201错误,原因在与添加SQLCHECK ...
- 好无语的问题----include 后面需要空格么?
前俩天回学校办事,在去师弟宿舍的时候,被问到了一个很 "深奥"得问题 ---------include 后面需要空格么? 在我以前的印象中不管在哪个编译器中,,都是需要有空格的, ...
- 解决ubuntu下安装mysql使用service无法启动问题
启动的时候发现service mysql start Rather than invoking init scripts through /etc/init.d, use the service(8) ...
- NET程序内存分析工具CLRProfiler的使用(性能测试)
http://blog.csdn.net/wy3552128/article/details/8158938 大家都知道.net有一套自己的内存(垃圾)回收机制,除非有一些数据(方法)长期占有内存不随 ...
- Xcode开发技巧之Code Snippets Library
http://blog.csdn.net/lin1986lin/article/details/21180007 目录(?)[-] 引言 什么是Code Snippets 如何新建Code Snipp ...