响应式布局之-MediaQueries

CSS Media Queries

在学习响应式布局时, 首先应该了解的就是Media Queries, 根据不同显示设备来应用不同的样式表(CSS)
在HTML4以及CSS2中式支持根据不同的Media-type来应用不同的样式的. 而Media queries则是在CSS2的Media-type基础上增加更多更精确的样式。

1. Media-Type

Media-Type用来定义不同的显示类型,应用不同CSS样式表,如: 一个文档在显示器(screen)与打印机中使用不同的CSS样式表.代码如下:

<link rel="stylesheet" type="text/css" media="screen" href="sans-serif.css">
<link rel="stylesheet" type="text/css" media="print" href="serif.css">

或者在一个CSS文档内部,则采用如下定义。

@media screen {
  * { font-family: sans-serif }
}
@media print {
  * { font-family: arial }
}
2.Media-Type所支持的类型
2.1 基本知识

Media-Type所支持的类型在HTML4中被定义, 其值可为 ‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘tty’, ‘tv’. 其中CSS2中废弃了‘aural’ and adds ‘embossed’ and ‘speech
“all”: 用来定义可用于所有的设备类型。

2.Media Queries

一个Media query由一个media-type以及零个或者多个表达式组成,用来检查特殊的media属性。
其语法如下:

<link rel="stylesheet" media="screen and (color)" href="example.css" />
<!--这个表达式用来将example.css应用与彩色的(color)属性的屏幕 -->
@import url(color.css) screen and (color);
<!--通过 @import方式来应用-->

一个Media Query是一个返回true或者false逻辑表达式. 当media-type以及查询表达式为true时。则应用其所定义的样式。

2.2 表达式语法

其语法形式为: 或者 @media[在CSS文档中] {color:red}
1. 的值为: [ [‘,’ ]*]: 一个或者多个media_query,用,隔开
2. media_query的值为:[ONLY | NOT]? S* media_type S* [ AND S* expression ]*
| expression [ AND S* expression ]*: ONLY/NOT二选一或者没有,media-type 以及零个或者多个expression
3. expression的值为:media_feature [ ‘:’ S* expr ]?:media属性以及条件
如:

@media all and (monochrome) { … }
2.3 Media features(可选Media属性

aspect-ratio: 定义输出设备中的页面可见区域宽度与高度的比率
max-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最大比率。
min-aspect-ratio 定义输出设备中的页面可见区域宽度与高度的最小比率。

device-aspect-ratio: 定义输出设备的屏幕可见宽度与高度的比率。
max-device-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最大比率。
min-device-aspect-ratio 定义输出设备的屏幕可见宽度与高度的最小比率。

color: 定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0
max-color 定义输出设备每一组彩色原件的最大个数。
min-color 定义输出设备每一组彩色原件的最小个数。

color-index: 定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0
max-color-index 定义在输出设备的彩色查询表中的最大条目数。
min-color-index 定义在输出设备的彩色查询表中的最小条目数。

device-height 定义输出设备的屏幕可见高度。
max-device-width 定义输出设备的屏幕最大可见宽度。
min-device-height 定义输出设备的屏幕的最小可见高度。

device-width 定义输出设备的屏幕可见宽度。
max-device-height 定义输出设备的屏幕可见的最大高度。
min-device-width 定义输出设备的屏幕最小可见宽度。
grid 用来查询输出设备是否使用栅格或点阵。

width 定义输出设备中的页面可见区域宽度。
max-width 定义输出设备中的页面最大可见区域宽度。
min-width 定义输出设备中的页面最小可见区域宽度。

height 定义输出设备中的页面可见区域高度。
max-height 定义输出设备中的页面最大可见区域高度。
min-height 定义输出设备中的页面最小可见区域高度。

resolution 定义设备的分辨率。如:96dpi, 300dpi, 118dpcm
max-resolution 定义设备的最大分辨率。
min-resolution 定义设备的最小分辨率。

monochrome 定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
max-monochrome 定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
min-monochrome 定义在一个单色框架缓冲区中每像素包含的最小单色原件个数

orientation 定义输出设备中的页面可见区域高度是否大于或等于宽度。
scan 定义电视类设备的扫描工序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值