css媒介查询语句举例

在人力物力和财力有限的情况下,一个网站既要功能完善,又要跟得上移动互联网的潮流(不是瞎跟风啊),那么同一套后台系统、数据库和前端代码,怎样才能满足用户在不通场景(厕所、超市、商场、被窝)不同设备(Iphone、ipad、电视、小米、三星、华为、HTP、诺基亚等等)上都能体验到最佳的产品体验和功能呢?

以往(在响应式概念诞生以前)的网站或者应用是怎么处理的呢?
最常见的办法就是基类(最常用的网站布局)+扩展类(几种不同的网站布局类)来实现不同的布局。

headermainfooter

针对不同布局编写不同的css代码,通过js判断设备、不同分辨率调用不同的布局样式,从而实现同一套前端Html代码适配不同设备和场景,给用户带来最佳的操作体验。

自从响应式布局的概念诞生以来,它便火了起来。

官方是这么定义响应式布局设计的:

响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。
这个概念是为解决移动互联网浏览而诞生的。
响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用大势所趋来形容也不为过。

用一句话来说:
使用同一套Html代码来适配不同设备和满足不同场景不同用户使用。

关键专业术语:
Media Query(css3媒介查询)

语法结构及用法:
@media 设备名 only (选取条件) not (选取条件) and(设备选取条件),设备二{sRules}

实际应用一 判断设备横竖屏:
/* 这是匹配横屏的状态,横屏时的css代码 */
@media all and (orientation :landscape){}
/* 这是匹配竖屏的状态,竖屏时的css代码 */
@media all and (orientation :portrait){}

实际应用二 判断设备类型:
@media X and (min-width:200px){}
X为设备类型》比如print/screen/TV等等

实际应用三 判断设备宽高:
/* 宽度大于600px小于960之间时,隐藏footer结构 */
@media all and (min-height:640px) and (max-height:960px){
footer{display:none;}
}

实际应用四 判断设备像素比:
/* 像素比为1时,头部颜色为绿色 */
.header { background:red;display:block;}或
@media only screen and (-moz-min-device-pixel-ratio: 1), only screen and (-o-min-device-pixel-ratio: 1), only screen and (-webkit-min-device-pixel-ratio: 1), only screen and (min-device-pixel-ratio:1) {
.header{background:green;} }
/* 像素比为1.5时,头部背景为红色 */
@media only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 1.5), only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio:1.5) {
.header{background:red;} }
/*像素比为2,头部背景为蓝色 */
@media only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio:2){
.header{background:blue;} }

关于设备像素比, 您可以参考:
HOW TO UNPREFIX -WEBKIT-DEVICE-PIXEL-RATIO?
Device pixel density tests What‘s My Device Pixel Ratio?
PPI、设备像素比devicePixelRatio简单介绍、 在各种高分辨率设备中使用像素

开发中,可使用Chrome emulation模拟移动设备的真实具体参数值。
关于Chrome Emulation可参考之前 《Chrome Emulation-移动设备特性随意配》一文。

了解了这些,那么在国内到底有多少网站有应用到响应式布局呢?有一淘、淘宝、优酷等等。
国外响应式网站非常多了,个人亲身感受和熟悉的最典型网站就是WordPress系统了。

还是开头说的那样,响应式布局不是赶潮流,而是有这样的一批用户需要——处于为用户在不同的场景(拉粑粑的时候)不同的设备(某国产山寨主流机))浏览网页时考虑的目的,使得他们能像操作PC端网页一样的自然去操作移动设备中的网页,甚至是TV上的应用或者网站。这样响应式才会做的更合理更人性化。

时间: 2024-08-01 10:43:52

css媒介查询语句举例的相关文章

HTML5移动Web开发(五)——移动设计之CSS媒介查询

CSS媒介查询(media query)是响应式设计中很重要的部分,它帮助你实现更加灵活的移动设计. 看示例代码ch01r06_c.html <!doctype html> <html> <head> <title>Mobile Cookbook</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, maxim

响应式设计之媒介查询

你必须像水那样无形:当你把水倒进杯子中,水就变成了杯子的形状:当你把水倒进瓶子中,水就变成了瓶子的形状:当你把水倒进茶壶中,水就变成了茶壶的形状. - 李小龙 之前读<响应式Web设计实践>,这大概是我印象最深的一句话了.李小龙的功夫了得,可他的功夫哲学更是令人叹服.如今的前端,面临着更多的挑战,尺寸大小不一的设备涌现出来,就像形状各异的容器,而我们的网页必须像水一般, 能够接受各式各样的考验. 为了能够让同一个页面在不同尺寸的设备浏览器中呈现出与之适配的样式,CSS3引入了Media que

45个非常有用的 Oracle 查询语句小结

 这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧. 原文地址:http://www.jbxue.com/db/19890.html 日期/时间 相关查询 1.获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. 复制代码代码如下: SELECT TRUNC

45 个非常有用的 Oracle 查询语句

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧! 日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. ? 1 2 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current mo

45 个非常有用的 Oracle 日期查询语句

日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month"      FROM DUAL; 获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 .你可以用任何的日期值替换 "

跟王老师学MySQL: 基本查询语句

跟王老师学MySQL: 基本查询语句 主讲教师:王少华   QQ群号:483773664 学习内容 查询语句的基本语法 查询数据指从数据库中获取所需要的数据.MySQL中是使用SELECT语句来查询数据的 一.select的基本语法形式如下 1 2 3 4 5 SELECT  属性列表  FROM  表名 [ WHERE  条件表达式1 ] [ GROUP BY  属性名1  [ HAVING 条件表达式2 ] ] [ ORDER BY  属性名2  [ ASC | DESC ] ] 属性列表:

45个非常有用的Oracle查询语句(转自开源中国社区)

日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month" FROM DUAL; 获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 .你可以用任何的日期值替换 "SYSDA

简单查询语句(三)

前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开始正式步入学习SQL中简单的查询语句,简短的内容,深入的理解. 简单查询语句 所有复杂的语句都是由简单的语句组成基本都是由SELECT.FROM.WHERE.GROUP BY.HAVING.ORDER BY等组成,当然还包括一些谓词等等.比如当我们要查询某表中所有数据时我们会像如下进行. SELECT

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧!

日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month"      FROM DUAL; 获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 .你可以用任何的日期值替换 “SYSDATE”来指定查询的日