有段时间 扑了一个多月的在一个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 与页面高度的经验总结的更多相关文章

  1. 【转】页面尺寸不一样的PDF页面调整方法

    本文综合参考:http://www.360doc.com/content/10/1114/22/2961363_69395272.shtml http://blog.sina.com.cn/s/blo ...

  2. 前端视频直播技术总结及video.js在h5页面中的应用

    全手打原创,转载请标明出处:https://www.cnblogs.com/dreamsqin/p/12557070.html,多谢,=.=~ (如果对你有帮助的话请帮我点个赞啦) 目前有一个需求是在 ...

  3. web前端开发中常用的尺寸和位置

    我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...

  4. Xamarin设备相关图片尺寸要求

    Xamarin设备相关图片尺寸要求   Xamarin跨平台开发,要兼顾iOS.Android.尤其是图片方面,各个平台有对应的不同要求.在iOS中,需要提供没有后缀(设备无关单位尺寸).@2x(双倍 ...

  5. PDF 补丁丁 0.4.1.820 测试版发布:统一PDF的页面尺寸

    之前删掉了统一页面尺寸功能,在这个版本给搬回来了. 调整页面留白的功能还没实现,请无视相关选项.

  6. 用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面

    用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面 1.什么是跨域以及产生原因 跨域是指a页面想获取b页面资源,如果a.b页面的协议.域名.端口.子域名不同,或是a页面为ip地 ...

  7. 我的前端工具集(八)获得html元素在页面中的位置

    我的前端工具集(八)获得html元素在页面中的位置   liuyuhang原创,未经允许禁止转载 目录 我的前端工具集 有时候需要用点击等操作,来获取某元素在页面中的位置,然后在该位置添加某些操作 如 ...

  8. C#+ItextSharp 查看pdf文件页面尺寸

    1# Nuget下载itextSharp,下载到本地 pm>Install-Package iTextSharp -Version 5.5.10 2# 引用dll,添加命名空间 using iT ...

  9. 新来的前端小姐姐问:Vue路由history模式刷新页面出现404问题

    摘要:vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 本文分享自华为云社区<学习Vue Rou ...

随机推荐

  1. Laravel操作上传文件的方法

    1.获取上传的文件 $file=$request->file('file');2.获取上传文件的文件名(带后缀,如abc.png) $filename=$file->getClientOr ...

  2. java中的构造方法(2013-05-05-bd 写的日志迁移

    特点: 1.方法名和类名相同 2.没有返回值 3.在创建一个类的新对象时,系统会自动的调用该类的构造方法完成对新对象的初始化 一个类中可以定义多个不同构造方法: 如果程序员没有定义构造方法,系统能够会 ...

  3. 45.VUE学习之--组件之父组件使用scope定义子组件模板样式结构实例讲解

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. mysql 安装常用命令,卸载不干净等

    安装mysql apt-get install mysql-server apt-get install mysql-client sudo apt-get install libmysqlclien ...

  5. ./vi: line 2: mkdir: command not found

    当前两天博主在写脚本的时候,运行脚本时候总是出现此消息,很郁闷, 开始我以为可能是我mkdir的函数库依赖的问题,但是当我用其他的脚本创建 目录的时候,命令又可以用了,找了半天,终于找到了答案 --- ...

  6. storm实时计算实例(socket实时接入)

    介绍 实现了一个简单的从实时日志文件监听,写入socket服务器,再接入Storm计算的一个流程. 源码 日志监听实时写入socket服务器   package socket; import java ...

  7. 20145202马超 《Java程序设计》 实验一 实验报告

    一.实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 二.实验内容 1.完成在Windows环境下对IDEA的配置: 2.实现求正整 ...

  8. Nodejs-异步操作

    1.阻塞 console.time('main');//代码计时器 //不断循环阻塞了代码的执行 for(var i=0;i<10000000;i++){ } console.timeEnd(' ...

  9. 考拉Android统一弹框

    作者:钱成杰 背景 在快速开发的背景下,经历了n个版本后的考拉Android App中已经存在了各种各样看似相同却各有差别的弹框样式.其中包括系统弹框和自定义弹框,并且在线上时常会出现IllegalA ...

  10. 一道关于C++ 继承/虚函数 笔试题 [转]

    转自:http://www.cnblogs.com/yangyh/archive/2011/06/04/2072393.html 首先这位作者, 因为看了这篇简短的一个博文, 我相同了关于虚函数方面的 ...