一、媒体查询介绍
在不同的设备上,同一个网站在不同的屏幕尺寸下呈现的效果是不同的,如果能够根据不同的设备屏幕尺寸来改变样式表的规则就好了。这就是媒体查询的作用。
媒体查询是CSS3的一个重要特性,可以通过编写不同的媒体查询来适应不同的设备。
二、常用媒体查询类型
根据设备的不同特点,可以将媒体查询分为以下几类:
1. 基于屏幕尺寸的媒体查询
基于屏幕尺寸的媒体查询是最常用的媒体查询类型,因为它可以根据设备的屏幕尺寸来调整页面的样式。
以在小屏幕上使用bootstrap的响应式布局为例:
/* 大于等于992px */
@media (min-width: 992px) {
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6,
.col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
float: left;
}
}
/* 大于等于768px */
@media (min-width: 768px) and (max-width: 991px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, {
float: left;
}
}
/* 小于768px */
@media (max-width: 767px) {
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6,
.col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12, {
float: left;
}
}
2. 基于设备方向的媒体查询
基于设备方向的媒体查询可以根据设备的横屏或竖屏方向来调整页面的样式。
例如,以下代码可以使横屏和竖屏的样式不同:
/* 竖屏 */
@media screen and (orientation: portrait) {
/* 样式1 */
}
/* 横屏 */
@media screen and (orientation: landscape) {
/* 样式2 */
}
3. 基于设备分辨率的媒体查询
基于设备分辨率的媒体查询可以根据设备的屏幕分辨率来调整页面的样式。
例如,以下代码可以使480像素以下的移动设备使用不同的样式:
@media screen and (max-width: 480px) {
/* 样式1 */
}
4. 基于设备屏幕的媒体查询
基于设备屏幕的媒体查询可以根据设备的屏幕特性来调整页面的样式。
例如,以下代码可以使触屏设备和普通的非触屏设备使用不同的样式:
/* 触屏设备 */
@media (pointer: coarse) {
/* 样式1 */
}
/* 非触屏设备 */
@media (pointer: fine) {
/* 样式2 */
}
三、媒体查询的应用场景
媒体查询可以用于响应式设计,通过不同的媒体查询来适应各种设备,从而提高用户的体验。
例如,以下代码可以使不同屏幕尺寸下的网站使用不同的样式:
/* 大屏幕 */
@media (min-width: 1200px) {
/* 样式1 */
}
/* 中屏幕 */
@media (min-width: 992px) and (max-width: 1199px) {
/* 样式2 */
}
/* 小屏幕 */
@media (max-width: 991px) {
/* 样式3 */
}
四、总结
媒体查询是CSS3的一个重要特性,可以根据不同的设备屏幕尺寸、分辨率、方向和屏幕特性来改变样式表的规则,适应不同的设备。
在实际开发中,可以根据具体需求选取不同的媒体查询类型,并应用于不同的场景中。