浅谈CSS3 响应式布局--Media Queries

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yilanyoumeng3/article/details/88744338

CSS3 Media Queries , CSS3媒体查询。使用 @media 查询,你可以针对不同的媒体类型定义不同的样式;也可以针对不同的屏幕尺寸设置不同的样式;当重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。
用法如下

@media 媒体类型 and|not|only (媒体特性) {
    ......
    }

媒体类型
值 描述
all :用于所有设备
print 用于打印机和打印预览
screen 用于电脑屏幕,平板电脑,智能手机等。
speech 应用于屏幕阅读器等发声设备

媒体特性:
aspect-ratio: 定义输出设备中的页面可见区域宽度与高度的比率
color: 定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0
color-index: 定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0
device-aspect-ratio: 定义输出设备的屏幕可见宽度与高度的比率。
device-height: 定义输出设备的屏幕可见高度。
device-width: 定义输出设备的屏幕可见宽度。
grid: 用来查询输出设备是否使用栅格或点阵。
height: 定义输出设备中的页面可见区域高度。
max-aspect-ratio: 定义输出设备的屏幕可见宽度与高度的最大比率。
max-color: 定义输出设备每一组彩色原件的最大个数。
max-color-index: 定义在输出设备的彩色查询表中的最大条目数。
max-device-aspect-ratio: 定义输出设备的屏幕可见宽度与高度的最大比率。
max-device-height: 定义输出设备的屏幕可见的最大高度。
max-device-width: 定义输出设备的屏幕最大可见宽度。
max-height: 定义输出设备中的页面最大可见区域高度。
max-monochrome: 定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
max-resolution: 定义设备的最大分辨率。
max-width: 定义输出设备中的页面最大可见区域宽度。
min-aspect-ratio: 定义输出设备中的页面可见区域宽度与高度的最小比率。
min-color: 定义输出设备每一组彩色原件的最小个数。
min-color-index: 定义在输出设备的彩色查询表中的最小条目数。
min-device-aspect-ratio: 定义输出设备的屏幕可见宽度与高度的最小比率。
min-device-width: 定义输出设备的屏幕最小可见宽度。
min-device-height: 定义输出设备的屏幕的最小可见高度。
min-height: 定义输出设备中的页面最小可见区域高度。
min-monochrome: 定义在一个单色框架缓冲区中每像素包含的最小单色原件个数
min-resolution: 定义设备的最小分辨率。
min-width : 定义输出设备中的页面最小可见区域宽度。
monochrome: 定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
orientation: 定义输出设备中的页面可见区域高度是否大于或等于宽度。
resolution: 定义设备的分辨率。如:96dpi, 300dpi, 118dpcm
scan: 定义电视类设备的扫描工序。
width: 定义输出设备中的页面可见区域宽度。

media query引用的方法有两种,
第一种:

<link rel="stylesheet" media=" 媒体类型 and|not|only (媒体特性)" href="mystylesheet.css">

媒体查询之间用逗号分开表示并列,如


    <link rel="stylesheet" media="handheld and (max-width:20em), screen and(max-width:30em), projection" href="mystylesheet.css">

第二种:在css中也可以这样

@media screen and (max-device-width: 400px) {
	......
}

还可以使用css的@import 指令在当前样式表中按条件引入其他样式表,如

@import url('phone.css') screen and (max-width: 360px)

需要注意一点,使用css的@import 方式会增加http请求,这样会影响加载速度

现在浏览器虽然可以智能地忽略与自身不匹配的样式文件,但它却不一定下载这些文件,因此,将不同媒体查询的样式保存到独立文件中没有太大好处,使用多个独立文件会增加用于页面渲染的HTTP请求数量,从而导致页面加载变慢。

浏览器支持问题:ie8及ie8以下浏览器不支持css媒体查询

对于CSS3 响应式布局–Media Queries 暂时总结那么多,这仅代表个人角度观点,还望同行多指点

猜你喜欢

转载自blog.csdn.net/yilanyoumeng3/article/details/88744338