CSS媒体查询,响应式布局必备

1 篇文章 0 订阅

CSS媒体查询,响应式布局必备知识点

什么是媒体查询?&& 媒体查询的作用

媒体查询是一个可以根据屏幕的不同尺寸使用不同的CSS样式渲染页面的操作规范,仅在浏览器或者其他设备满足我们指定的鬼规则相匹配时CSS才会被应用。

媒体查询在实现响应式布局的时候起着关键性的作用,例如当’视口宽度小于750像素’时执行特定布局。

除此以外媒体查询也能用来探测和我们使用的设备相关联的其他条件,例如’设备是通过触屏操作还是鼠标操作’。

总结一句话媒体查询可以根据不同屏幕尺寸设置不同的样式,同时也能探测与设备相关联的一些条件

CSS语法
@media mediatype and|not|only (media feature){
	/* CSS rules go here */
}

另外,也可以使用stylesheets:

<link rel="stylesheet" media="media~type and|not|only (media feature)" href="mystylesheet.css">
媒体类型mediatype
mediatype描述
all适用于所有设备
print适用于打印和打印预览
screen适用于电脑、平板、手机等各种屏幕
speech适用于屏幕阅读器等发声设备
常用媒体功能
名称描述
height定义输出设备中的页面可见区域高度。
width定义输出设备中的页面可见区域宽度。
min-width定义输出设备中的页面最小可见区域宽度。
max-height定义输出设备中的页面最大可见区域高度。
max-width定义输出设备中的页面最大可见区域宽度。
min-height定义输出设备中的页面最小可见区域高度。
device-width定义输出设备的屏幕可见宽度。
device-height定义输出设备的屏幕可见高度。
min-device-width定义输出设备的屏幕最小可见宽度。
max-device-width定义输出设备的屏幕最大可见宽度。
min-device-height定义输出设备的屏幕的最小可见高度。
max-device-height定义输出设备的屏幕可见的最大高度。
aspect-ratio定义输出设备中的页面可见区域宽度与高度的比率
color定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0
max-color定义输出设备每一组彩色原件的最大个数。
device-aspect-ratio定义输出设备的屏幕可见宽度与高度的比率。
grid用来查询输出设备是否使用栅格或点阵。
max-aspect-ratio定义输出设备的屏幕可见宽度与高度的最大比率。
max-color-index定义在输出设备的彩色查询表中的最大条目数。
max-device-aspect-ratio定义输出设备的屏幕可见宽度与高度的最大比率。
max-monochrome定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
max-resolution定义设备的最大分辨率。
min-aspect-ratio定义输出设备中的页面可见区域宽度与高度的最小比率。
min-device-aspect-ratio定义输出设备的屏幕可见宽度与高度的最小比率。
min-resolution定义设备的最小分辨率。
orientation定义输出设备中的页面可见区域高度是否大于或等于宽度。
monochrome定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
resolution定义设备的分辨率。如:96dpi, 300dpi, 118dpcm
scan定义电视类设备的扫描工序。
简单实例

宽:屏幕宽度为600px时,body文本设置成红色

@media screen and (width: 600px){
	body{
		color:red;
	}
}

最大宽度:屏幕宽度小于400px时,body文本为红色

@media screen and (max-width: 400px){
	body{
		color:red;
	}
}

屏幕朝向:设备横屏时,body文本为红色

@media (orientation: landscape){
	body{
		color:red;
	}
}
复杂实例

逻辑 :屏幕宽度大于400px并且横屏时,body文本为红色

@media screen and (min-width: 400px) and (orientation: landscape){
	body{
		color:red
	}
}

逻辑:屏幕宽度大于400px或者横屏时,body文本为红色

@media screen and (min-width: 400px) and (orientation: landscape){
	body{
		color:red
	}
}

逻辑:屏幕不为横屏时,body文本颜色为红色

@media not all and (orientation: landscape){
	body{
		color:red
	}
}

end~~~本文存在不当之处欢迎指出噢

有疑问的同学,欢迎在下方留言

若未能及时回答,也可以选择加入前端开发交流群提问噢~~

群号:216644014(前端开发交流群)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值