Skip to content

响应式

媒体查询

根据设备宽度的变化,设置差异化样式

css
@media (媒体查询) {
  /* 样式 */
}

/* eg: */

/* 视口宽度小于等于768px*/
@media (max-width: 768px) {
  /* 样式 */
}

/* 视口宽度大于等于1200px*/
@media (min-width: 1200px) {
  /* 样式 */
}

多个媒体查询,需要注意顺序,遵循 css 层叠性

完整写法

css
@media 关键词 媒体类型 and (媒体特性) {
    css代码
}

1、关键词

  • and
  • only
  • not

2、媒体类型

类型名称描述
屏幕screen带屏幕的设备
打印预览print打印预览模式
阅读器speech屏幕阅读模式
不区分类型all默认值,包括以上 3 种情形

3、媒体特性

特性名称属性
视口宽和高width、height数值
视口最大宽或最大高max-width、max-height数值
视口最小宽或最小高min-width、min-height数值
屏幕方向orientationportrait:竖屏/ landscape 横屏

常用写法

css
@media (min-width: 1200px) {
  /* PC样式 */
}

@media (min-width: 992px) {
  /* 样式 */
}

@media (min-width: 768px) {
  /* >=768px 样式 */
}

外链式 css 引入

html
<link
  rel="stylesheet"
  media="逻辑符 媒体类型 and (媒体特性)"
  href="index.css"
/>

<!-- eg: 注意小括号不能丢 -->
<link rel="stylesheet" media="(min-width: 992px)" href="index-992.css" />
<link rel="stylesheet" media="(min-width: 1200px)" href="index-1200.css" />