tips 前端 各个设备的页面尺寸的media query 与页面高度的经验总结
有段时间 扑了一个多月的在一个wifi的前端项目上
快做完时 各种小问题一堆一堆的修复 处理了一些很零散的问题
因为页面有一个所有页面都有一个背景色 有的页面有背景图
主要重点是移动前端的方向 因为现在设备会有各种屏幕比例(16:9) 分辨率(1024px_768px) 和像素比(devicePixelRatio)
对于页面适配起来 其实有很多值得思考的对方
页面宽度上的处理很方便 可以用百分比的html body样式 或者 我使用了bootstrap 用它非常优秀的栅格化 和断点
页面高度上 我自己定了一套方案 虽然在我看来这套方案还有待提高 比如没有考虑横屏情况,还有一些细节上深入的东西可以去探究
不过工作进度要紧 你可以没完没了的死磕一个东西 去挖知识 去深入探究 但是你不能用没完没了的工作态度去处理一个项目 而滞留在每个点上,时间是宝贵的,不能随便浪费.
于是我在项目里是这样做的 用一下media query 由于只是定一下高度 所以我将媒体查询放在了引入的css文件里 没有用在引入样式文件时媒体查询的方式
由于它是通用定制多个视图的 所以将这部分放在了模板页里去引入的一个外部css文件里
/*为大屏幕设备 pc */
@media all and (min-width: 1020px){
.wrap_backgd_size{
min-height: 770px;
}
}
/*for tablet*/
@media all and (max-width: 800px){ .wrap_backgd_size{
min-height: 580px;
} }
/*页面高度定制*/
/*for iphone4 it ratio is 320x480*/
@media all and (max-width: 330px) and (max-height: 490px) and (min-height: 470px){
/*.testmedia{
color: white;
}*/
.wrap_backgd_size{
min-height: 485px ;
}
} /*for iphone 5 it ratio is 320x568*/
@media all and (max-width: 330px) and (max-height: 570px) and (min-height: 560px){
.wrap_backgd_size{
min-height: 580px ;
}
} /*for iphone 6 it ratio is 375x667*/
@media all and (max-width: 380px) and (max-height: 670px) and (min-height: 660px){
.wrap_backgd_size{
min-height: 680px ;
}
} /*for iphone6 plus it ratio is 414x736*/
@media all and (max-width: 420px) and (max-height: 740px) and (min-height: 730px){
.wrap_backgd_size{
min-height: 750px ;
}
} /*for google nexus5 it ratio is 360x640 nexus4=384x640*/
@media all and (max-width: 385px) and (min-width: 350px) and (max-height: 650px) and (min-height: 630px){
.wrap_backgd_size{
min-height: 650px;
}
}
代码贴在这里,以后可以自己再编辑改善和拿来即用
note:1.媒体查询对同一样式的规则应用原则是和css样式应用的优先级是相同的 写在后面的样式会覆盖前面样式
2.自然是使用min-height属性,定一个最小高度,可以让内容超出该区域
除了css 的方式外,还有以脚本来做用脚本来获取当前手机的屏幕上网页可视区域的大小,并设置到相应的dom 元素上 ,如
$('#bg').height(window.innerHeight);
相关参数:
window.screen.width //设备屏幕视口宽度 iphone5上320 我的安卓设备上取到了1080(此设备屏幕分辨率为1920X1080) window.screen.availWidth //测试结果同上 1080 window.innerWidth // 正确 同理高度也应取此参数 网页在设备上展示的可视区域的宽高 (比如在微信里展示时会拿到的高度是 去掉了手机顶部的时间栏和微信顶部栏64px后的高度) 的innerHeight document.body.clientWidth; //测试结果总是几乎同上,但总会比上面的多5像素,差距很小 //note: 这些参数在pc端chrome浏览器里使用f12手机设备尺寸模拟调试时总会拿到正确的参数,但在不同的实际设备上却完全不对,所以不可以pc端模拟设备取到的参数为准
tips 前端 各个设备的页面尺寸的media query 与页面高度的经验总结的更多相关文章
- 【转】页面尺寸不一样的PDF页面调整方法
本文综合参考:http://www.360doc.com/content/10/1114/22/2961363_69395272.shtml http://blog.sina.com.cn/s/blo ...
- 前端视频直播技术总结及video.js在h5页面中的应用
全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12557070.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 目前有一个需求是在 ...
- web前端开发中常用的尺寸和位置
我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...
- Xamarin设备相关图片尺寸要求
Xamarin设备相关图片尺寸要求 Xamarin跨平台开发,要兼顾iOS.Android.尤其是图片方面,各个平台有对应的不同要求.在iOS中,需要提供没有后缀(设备无关单位尺寸).@2x(双倍 ...
- PDF 补丁丁 0.4.1.820 测试版发布:统一PDF的页面尺寸
之前删掉了统一页面尺寸功能,在这个版本给搬回来了. 调整页面留白的功能还没实现,请无视相关选项.
- 用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面
用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面 1.什么是跨域以及产生原因 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,或是a页面为ip地 ...
- 我的前端工具集(八)获得html元素在页面中的位置
我的前端工具集(八)获得html元素在页面中的位置 liuyuhang原创,未经允许禁止转载 目录 我的前端工具集 有时候需要用点击等操作,来获取某元素在页面中的位置,然后在该位置添加某些操作 如 ...
- C#+ItextSharp 查看pdf文件页面尺寸
1# Nuget下载itextSharp,下载到本地 pm>Install-Package iTextSharp -Version 5.5.10 2# 引用dll,添加命名空间 using iT ...
- 新来的前端小姐姐问:Vue路由history模式刷新页面出现404问题
摘要:vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 本文分享自华为云社区<学习Vue Rou ...
随机推荐
- 数据写入Excel
通过xlwt这个库,可以将数据写入Excel中,而且通过xlwt写excel格式可以控制 颜色.模式.编码.背景色 下面基本上是一个练习,熟悉如何操作xlwt库的 下面是代码,所有的内容,和介绍,基本 ...
- 基于appium的app自动化测试框架
基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于web测试框架开发的 一.设备连接 (即构建 ...
- Python学习之set集合
set集合以{}保存一组可迭代对象,如列表,字符串,set集合本身.集合内的元素若有重复的,将自动去除重复元素 a=set([1,2,3]) print(a) b=set('hello python' ...
- 搭建一个简单的dns缓存服务器
环境:linux 软件:bind97,bind97-utils, bind97-libs ip:192.168.192.130:192.168.192.131 -------------------- ...
- 资料--JavaScript原型链
JavaScript原型链 原文出处:https://www.cnblogs.com/chengzp/p/prototype.html 目录 创建对象有几种方法 原型.构造函数.实例.原型链 inst ...
- java.sql.SQLException: Field 'id' doesn't have a default value异常
在做mybatis插入的时候报了这个错误,百度了下,貌似是因为这个健没有设置值且不是自增类型的. java.sql.SQLException: Field 'id' doesn't have a de ...
- centos使用--vim配置和推荐插件使用
目录 1.vimrc的配置内容 2.Vundle使用 简介 安装vundle 配置vundle插件: 安装需要的插件 移除不需要的插件 其他常用命令 3 使用插件 3.1 NERDTree 3.2 e ...
- 部署微软Nano Server的好处是什么?
虚拟化对数据中心效率和硬件利用率产生了戏剧性的影响,但是接下来有关系统整合的主要责任落 在了操作系统的重量上.虚拟机通常运行企业级操作系统,比如Windows Server,但是Windows Ser ...
- 虚拟机中如何挂载物理磁盘(VMware操作)
测试的时候难免会遇到,从真是机器拷贝东西到虚拟机中,虽说安装了VMware tools(Vm→Install VMware tools...),就可以将文件直接拖到虚拟机里面去,但是这样拷贝总是需要花 ...
- Start with PJSIP on windows
To overcome the project of HD video conferencing systerm,I should learn to use the PJSIP. I should m ...