项目要求:

  网站能够使用PC、ipad、mobile phone正常访问
  页面PSD版式宽度分别为1024px和750px

参考资料

  使用CSS3 Media Queries,其作用就是允许添加表达式用以确定媒体的环境情况,以此来应用不同的样式表。换句话说,其允许我们在不改变内容的情况下,改变页面的布局以精确适应不同的设备。

Media Queries的语法如下所示:

  @media [media_query] media_type and media_feature

  使用Media Queries样式模块时都必须以"@media"方式开头。

  [media_query]表示查询关键字包括all/not/only

    not关键字是用来排除某种制定的媒体类型,换句话来说就是用于排除符合表达式的设备。

    only用来定某种特定的媒体类型,可以用来排除不支持媒体查询的浏览器。其实only很多时候是用来对那些不支持Media Query但却支持Media Type的设备隐藏样式表的。其主要有:支持媒体特性(Media Queries)的设备,正常调用样式,此时就当only不存在;对于不支持媒体特性(Media Queries)但又支持媒体类型(Media Type)的设备,这样就会不读了样式,因为其先读only而不是screen;另外不支持Media Qqueries的浏览器,不论是否支持only,样式都不会被采用。
    在Media Query中如果没有明确指定Media Type,那么其默认为all.

  media_type参数的作用是指定设备类型,通常称为媒体类型。实际上在CSS2.1版本时已经定义了该媒体类型。

media_type

设备类型说明

all

所有设备

aural

听觉设备

braille

点字触觉设备

handled

便携设备,如手机、平板电脑

print

打印预览图等

projection

投影设备

screen

显示器、笔记本、移动端等设备

tty

如打字机或终端等设备

tv

电视机等设备类型

embossed

盲文打印机

  media_feature的主要作用是定义CSS中的设备特性,大部分移动设备特性都允许接受min/ max的前缀。例如,min-width表示指定大于等于该值;max-width表示指定小于等于该值。

设 备 特 性

是否允许

min/max

前缀

特 性 的 值

说    明

width

允许

含单位的数值

指定浏览器窗口的宽度大小,

如480像素

height

允许

含单位的数值

指定浏览器窗口的高度大小,

如320像素

device-width

允许

含单位的数值

指定移动设备的屏幕分

辨率宽度大小,如480像素

device-height

允许

含单位的数值

指定移动设备的屏幕分

辨率高度大小,如320像素

orientation

不允许

字符串值

指定移动设备浏览器的窗口方向。

只能指定portrait(纵向)和landscape

(横向)两个值

aspect-radio

允许

比例值

指定移动设备浏览器窗口的

纵横比例,如16:9

device-aspect-radio

允许

比例值

指定移动设备屏幕分辨率的

纵横比例,如16:9

color

允许

整数值

指定移动设备使用多少位的颜色值

color-index

允许

整数值

指定色彩表的色彩数

monochrome

允许

整数值

指定单色帧缓冲器中每像素的字节数

resolution

允许

分辨率值

指定移动设备屏幕的分辨率

scan

不允许

字符串值

指定电视机类型设备的扫描方式。

只能指定两种值:progressive表

示逐行扫描和interlace表示隔行扫描

grid

不允许

整数值

指定设备是基于栅格还是基于位图。

基于栅格时该值为1,否则为0

兼容的浏览器:

HTML中引用方式如下:

一、最大宽度Max Width

  1. <link rel="stylesheet" media="screen and (max-width:600px)" href="small.css" type="text/css" />

上面表示的是:当屏幕小于或等于600px时,将采用small.css样式来渲染Web页面。

二、最小宽度Min Width

  1. <link rel="stylesheet" media="screen and (min-width:900px)" href="big.css" type="text/css" />

上面表示的是:当屏幕大于或等于900px时,将采用big.css样式来渲染Web页面。

三、多个Media Queries使用

  1. <link rel="stylesheet" media="screen and (min-width:600px) and (max-width:900px)" href="style.css" type="text/css" />

Media Query可以结合多个媒体查询,换句话说,一个Media Query可以包含0到多个表达式,表达式又可以包含0到多个关键字,以及一种Media Type。正如上面的其表示的是当屏幕在600px-900px之间时采用style.css样式来渲染web页面。

四、设备屏幕的输出宽度Device Width

  1. <link rel="stylesheet" media="screen and (max-device-width: 480px)" href="iphone.css" type="text/css" />

上面的代码指的是iphone.css样式适用于最大设备宽度为480px,比如说iPhone上的显示,这里的max-device-width所指的是设备的实际分辨率,也就是指可视面积分辨率

CSS中引用方式如下:

  1. @media screen and (max-width: 600px) {
  2. 选择器 {
  3. 属性:属性值;
  4. }
  5. }
  6.  
  7. 最后不要忘记:
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE678),需要使用css3-mediaqueries.js或者Respond.js (推荐)
  1. Respond.js 是一个快速、轻量的 polyfill,用于为 IE6-8 以及其它不支持 CSS3 Media Queries 的浏览器提供媒体查询的 min-width max-width 特性,实现响应式网页设计(Responsive Web Design)。
  2.  
  3. 参考:
    一些关于Viewportdevice-width的东西~:http://www.cnblogs.com/koukouyifan/p/4066567.html
    自适应网页设计参考: http://www.ruanyifeng.com/blog/2012/05/responsive_web_design.html两个viewport的故事:http://weizhifeng.net/viewports.htmlCSS3 Media Queries:http://www.w3cplus.com/content/css3-media-queries
  1. Media Queries语法总 http://book.51cto.com/art/201204/328362.htm

 

前端页面开发,最低兼容IE 8的多设备跨平台问题解决!的更多相关文章

  1. css背景精华所在+前端页面开发流程

    background属性 background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项: ...

  2. 我的前端页面开发js简易有效环境

    前端开发主要涉及到html, css(less/sass), javascript这几个方面的知识.真正的快速有效开发,必须实现所谓所见即所得.在构建生产时,可能需要使用gulp/grunt等task ...

  3. X5的UI部分和传统Web页面开发的差异

    http://doc.wex5.com/different-with-std-web-ui/#1 X5的UI部分和传统Web页面开发的差异 WeX5是跨端移动开发框架,BeX5是基于WeX5的企业快速 ...

  4. 自适应 or 移动前端页面布局的问题?

    说出来,还请各位看官不要笑 - -.哥们至今不是很清楚页面的自适应和移动前端页面开发有什么区别 .有幸哪位看官清楚这些的话,希望能不吝赐教 .A.meta        <meta name=& ...

  5. Spring Boot +Vue 项目实战笔记(二):前后端结合测试(登录页面开发)

    前言:关于开发环境 每位 Coder 都有自己偏好的开发工具,从大的方面划分主要有文本编辑器流和 IDE 流两种,我有一段时间也喜欢用编辑器(Sublime Text.Vim),但对我来说开发效率确实 ...

  6. JavaWeb开发使用jsp还是html做前端页面

    一.概述 刚开始学习Javaweb开发的小伙伴都有一个疑惑:用jsp开发前端还是用HTML开发前端呢? 这个疑惑的来源主要是:刚接触完前端但又不深入学习js,接着学习jsp,发现老师们都一直用着jsp ...

  7. 循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理

    在前面随笔<循序渐进VUE+Element 前端应用开发(3)--- 动态菜单和路由的关联处理>中介绍了在Vue + Element整合框架中,实现了动态菜单和动态路由的处理,从而可以根据 ...

  8. 循序渐进VUE+Element 前端应用开发(5)--- 表格列表页面的查询,列表展示和字段转义处理

    在我们一般开发的系统界面里面,列表页面是一个非常重要的综合展示界面,包括有条件查询.列表展示和分页处理,以及对每项列表内容可能进行的转义处理,本篇随笔介绍基于Vue +Element基础上实现表格列表 ...

  9. 基于Vue2.0的单页面开发方案

    2016的最后一天,多多少少都应该总结一下这一年的得失,哪里做的好,哪里需要改进,记一笔,或许将来会用到呢. 毕业差不多半年了,一直是一个人在负责公司项目的前端开发与维护,当时公司希望前后端分离,提高 ...

随机推荐

  1. CSS3中的px,em,rem,vh,vw辨析

    1.px:像素,精确显示 2.em:继承父类字体的大小,相当于"倍",如:浏览器默认字体大小为16px=1em,始终按照div继承来的字体大小显示,进场用于移动端 em换算工具:h ...

  2. PowerDesigner通过SQL语句生成PDM文件

    前提: 我用的是PowerDesigner15 数据库为Mysql5.5 步骤如下: 第一步:File->New Model 点击OK创建模板就行了 备注:在创建物理模型时DBMS下拉框是空的, ...

  3. 【日记】thinkphp项目阿里云ECS服务器部署

    项目本地开发告一段落.准备上传到服务器上测试 技术组成 thinkphp+mysql+阿里ECS  代码管理方式git 一.阿里ECS服务器配置 1.因为线上已经有几个站点了.所以要配置ngnix多站 ...

  4. Java笔记:异常

    Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Throwa ...

  5. 请慎用java的File#renameTo(File)方法

    转载地址:http://xiaoych.iteye.com/blog/149328 以前我一直以为File#renameTo(File)方法与OS下面的 move/mv 命令是相同的,可以达到改名.移 ...

  6. libsvm数据处理初略流程

  7. 提高 ASP.NET Web 应用性能

    转载:http://www.codeceo.com/article/24-ways-improve-aspnet-web.html 在这篇文章中,将介绍一些提高 ASP.NET Web 应用性能的方法 ...

  8. 【学习篇:他山之石,把玉攻】JavaScript Date() 对象 及 格式化

    Date 对象用于处理日期和时间.  创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. 参数形式有以下5种:   new ...

  9. F#之旅6 - 简单AV推荐系统

    上回说到用F#来写爬虫,这只是F#学习第一阶段的第一步.最开始,就对第一阶段做了这样的安排: 1.爬虫爬取AV数据 2.数据处理和挖掘 3.数据可视化(使用ECharts) 4.推荐系统 第一步很快就 ...

  10. strtok源码 bitset 空间压缩

    源代码里有一段: unsigned char map[32]; /* Clear control map */ for (count = 0; count < 32; count++) map[ ...