媒体查询@media的笔记

其实学校自学前端的时候都不知道媒体查询,在实际工作中慢慢接触到了。最近做的项目中,碰到了前端当中很多人都会碰到的问题,不同浏览器的类型以及不同版本的浏览器的兼容性。其实在各大主流浏览器更新最新版本或者是接近最新版本的时候,网页页面显示的内容都不会太大,是因为他们都支持htm5和css3。

使用@media查询,可以针对不用的媒体类型定义不同的样式,也可以针对不同的屏幕尺寸设置不同的样式,特别是要响应式web设计

@media浏览器的支持情况

媒体查询@media的笔记_第1张图片
以前我学css的时候,从来不关注样式对于浏览器的支持情况,现在接触过响应式,不能不关注

@ media的写法

里面@media mediatype (常用的媒体类型是screen,用于电脑屏幕,平板电脑,手机等) and|not|only(media feature){ }

媒体查询@media的笔记_第2张图片
大多数媒体类型已经废弃

媒体功能

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定义输出设备中的页面可见区域宽度。

——————————————————————————我是分割线

通常我们看到的css3媒体查询的写法是这样的

@media screen and (max-device-width:960px){

background:red;

}


媒体功能虽然很多,但是很好理解

上述的代码表示的是小于960px的设备的背景色显示红色

css2 媒体查询的写法

就是在head标签中插入以上的的一段代码

上面用css2改写css3代码

另外还要记得还要走几步

1、,这根禁止响应式相反

这段代码的几个参数解释:

width = device-width:宽度等于当前设备的宽度

initial-scale:初始的缩放比例(默认设置为1.0)

minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)

maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)

user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)

2、因为IE8既不支持HTML5也不支持CSS3 Media,所以我们需要加载两个JS文件,来保证我们的代码实现兼容效果:

另补:

1.如果要想样式兼容各种浏览器,五大主流浏览器,谷歌、火狐、欧朋、safra,他们的内核不一样,presto(火狐)、gecko(opear前内核,现在已改为Google Chrome的Blink内核)、trident(IE)、webkit(Safari内核,Chrome内核原型,开源)、Blink。基于webkit内核的在样式前面加上-webkit-,基于gecko在前面加上-o-,基于presto在前面加上-moz-

2、如果想兼容不同屏幕尺寸的,需要用媒体查询或者用响应式框架,如bootstarp或者移动端的zepto.js等

3、如果想兼容ie8以下的版本,需要引入

response.js和html5shiv.js文件,因为ie8不兼容html5也不支持css3的Media

如有错误,请指出,互相交流,共同进步!

你可能感兴趣的:(媒体查询@media的笔记)