媒体查询学习笔记
什么是媒体查询?
媒体查询(Media Query)是 CSS3 新增的功能,它可以根据设备的不同特性来选择不同的样式表,最常用的就是为不同的屏幕尺寸设置不同的样式。通过使用媒体查询,我们可以让网站在不同设备上都能够完美地展现。
媒体查询的语法
媒体查询的语法如下:
Copy Code@media mediatype and|not|only (media feature) {
CSS Rules;
}
- mediatype:指的是媒体类型,如 screen、print、speech 等;
- and、not 和 only:是关键词,用于逻辑运算;
- media feature:是媒体特性,如 width、height、color、orientation 等;
- CSS Rules:是指需要应用到指定媒体类型的 CSS 样式。
常用的媒体查询
基于视口的媒体查询
视口(Viewport)是指浏览器中用于显示网页的区域。我们可以使用以下媒体特性来设置基于视口的媒体查询。
width 和 height
width 和 height 分别表示视口的宽度和高度。例如,我们可以使用以下代码来设置当视口宽度小于等于 768px 时应用的样式:
Copy Code@media (max-width: 768px) {
/* CSS Rules */
}
aspect-ratio 和 device-aspect-ratio
aspect-ratio 和 device-aspect-ratio 分别表示视口的宽高比和设备屏幕的宽高比。例如,我们可以使用以下代码来设置当视口宽高比为 16:9 时应用的样式:
Copy Code@media (aspect-ratio: 16/9) {
/* CSS Rules */
}
orientation
orientation 表示设备的方向,包括 landscape(横向)和 portrait(纵向)。例如,我们可以使用以下代码来设置当设备处于横向状态时应用的样式:
Copy Code@media (orientation: landscape) {
/* CSS Rules */
}
基于设备的媒体查询
除了基于视口的媒体查询之外,还可以根据设备的属性来设置媒体查询。
max-device-width 和 min-device-width
max-device-width 和 min-device-width 分别表示设备屏幕的最大宽度和最小宽度。例如,我们可以使用以下代码来设置当设备屏幕宽度小于等于 768px 时应用的样式:
Copy Code@media (max-device-width: 768px) {
/* CSS Rules */
}
resolution
resolution 表示设备屏幕的分辨率。例如,我们可以使用以下代码来设置当设备屏幕分辨率大于等于 300dpi 时应用的样式:
Copy Code@media (min-resolution: 300dpi) {
/* CSS Rules */
}
媒体查询的实例
我们可以通过以下实例来更好地理解媒体查询的用法:
Copy Code/* 全局样式 */
body {
font-size: 16px;
}
/* 当视口宽度小于等于 768px 时应用的样式 */
@media (max-width: 768px) {
body {
font-size: 14px;
}
}
/* 当设备屏幕为 Retina 屏幕时应用的样式 */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
/* CSS Rules */
}
在这个实例中,当视口宽度小于等于 768px 时,网页中的文本大小会变为 14px;而当设备屏幕为 Retina 屏幕时,页面会有一些特定的样式。