CSS 中@media查询的工作原理,如何利用它实现不同设备的样式适配

devtools/2025/3/28 17:19:18/

大白话 CSS 中@media查询的工作原理,如何利用它实现不同设备的样式适配

什么是 @media 查询

在网页设计里,不同的设备(像手机、平板、电脑)屏幕尺寸各异。要是只使用一套固定的样式,网页在某些设备上可能就显示得乱七八糟。@media 查询就像是一个“智能开关”,能依据设备的特性(比如屏幕宽度、高度、分辨率等)来应用不同的 CSS 样式,从而让网页在各种设备上都能完美显示。

@media 查询的工作原理

@media 查询的核心在于设定一个或多个条件,当设备的特性满足这些条件时,就会应用查询里定义的 CSS 样式。基本的语法如下:

css">/* 定义一个媒体查询 */
@media 媒体类型 and (媒体特性) {/* 当条件满足时应用的样式 */选择器 {属性:;}
}
  • 媒体类型:用来指定查询适用的设备类型,常见的有 all(所有设备)、screen(屏幕设备,如电脑、手机、平板)、print(打印设备)等。
  • 媒体特性:这是查询的关键条件,例如 min-width(最小宽度)、max-width(最大宽度)、orientation(设备方向,如 portrait 竖屏、landscape 横屏)等。

如何利用 @media 查询实现不同设备的样式适配

下面通过一个具体的例子来说明如何使用 @media 查询为不同屏幕宽度的设备应用不同的样式。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Media Query Example</title><style>css">/* 全局样式,适用于所有设备 */body {font-family: Arial, sans-serif;background-color: lightblue;color: black;}/* 当屏幕宽度小于等于 600px 时(通常是手机设备),应用以下样式 */@media screen and (max-width: 600px) {body {background-color: lightgreen; /* 将背景颜色改为浅绿色 */font-size: 14px; /* 减小字体大小 */}}/* 当屏幕宽度大于 600px 且小于等于 900px 时(通常是平板设备),应用以下样式 */@media screen and (min-width: 601px) and (max-width: 900px) {body {background-color: lightyellow; /* 将背景颜色改为浅黄色 */font-size: 16px; /* 调整字体大小 */}}/* 当屏幕宽度大于 900px 时(通常是电脑设备),应用以下样式 */@media screen and (min-width: 901px) {body {background-color: lightcoral; /* 将背景颜色改为浅珊瑚色 */font-size: 18px; /* 增大字体大小 */}}</style>
</head><body><h1>欢迎来到我的网页!</h1><p>这个网页使用了媒体查询来适配不同的设备。</p>
</body></html>

代码解释

  1. 全局样式
css">/* 全局样式,适用于所有设备 */
body {font-family: Arial, sans-serif;background-color: lightblue;color: black;
}

这部分样式是全局的,会应用到所有设备上。

  1. 手机设备样式(屏幕宽度小于等于 600px)
css">/* 当屏幕宽度小于等于 600px 时(通常是手机设备),应用以下样式 */
@media screen and (max-width: 600px) {body {background-color: lightgreen; /* 将背景颜色改为浅绿色 */font-size: 14px; /* 减小字体大小 */}
}

当设备屏幕宽度小于等于 600px 时,会将页面的背景颜色改为浅绿色,字体大小减小到 14px。

  1. 平板设备样式(屏幕宽度大于 600px 且小于等于 900px)
css">/* 当屏幕宽度大于 600px 且小于等于 900px 时(通常是平板设备),应用以下样式 */
@media screen and (min-width: 601px) and (max-width: 900px) {body {background-color: lightyellow; /* 将背景颜色改为浅黄色 */font-size: 16px; /* 调整字体大小 */}
}

当设备屏幕宽度在 601px 到 900px 之间时,会将页面的背景颜色改为浅黄色,字体大小调整为 16px。

  1. 电脑设备样式(屏幕宽度大于 900px)
css">/* 当屏幕宽度大于 900px 时(通常是电脑设备),应用以下样式 */
@media screen and (min-width: 901px) {body {background-color: lightcoral; /* 将背景颜色改为浅珊瑚色 */font-size: 18px; /* 增大字体大小 */}
}

当设备屏幕宽度大于 900px 时,会将页面的背景颜色改为浅珊瑚色,字体大小增大到 18px。

通过这种方式,我们可以根据不同设备的屏幕宽度来动态调整网页的样式,实现不同设备的样式适配。


http://www.ppmy.cn/devtools/171148.html

相关文章

springboot集成onlyoffice(部署+开发)

前言 最近有个项目需求是实现前端页面可以对word文档进行编辑&#xff0c;并且可以进行保存&#xff0c;于是一顿搜索&#xff0c;找到开源第三方onlyoffice&#xff0c;实际上onlyOffice有很多功能&#xff0c;例如文档转化、多人协同编辑文档、文档打印等&#xff0c;我们只…

目标检测20年(二)

没有看过&#xff08;一&#xff09;的可以看看笔者这篇文章&#xff1a; 目标检测20年&#xff08;一&#xff09;-CSDN博客 目录 3.2 目标检测数据集和指标 3.2.1 数据集 3.2.1.1 Pascal VOC 3.2.1.2 ILSVRC 3.2.1.3 MS-COCO 3.2.1..4 Open Images 3.2.2 指标 3.3 目…

手动配置树莓派wifi联网连接热点手机热点

手动配置树莓派wifi联网连接热点 修改wifi配置文件: 运行命令: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf 在文件中添加无线网配置信息: ctrl_interfaceDIR/var/run/wpa_supplicant GROUPnetdev update_config1 countryCN network{ ssid”你的无线网名字” psk”…

WPF Binding方式详解

在 WPF 中&#xff0c;Binding 是数据绑定的核心机制&#xff0c;用于将 UI 元素与数据源&#xff08;或控件&#xff09;连接起来。Binding 提供了多种方式来实现不同的绑定需求。以下是 Binding 的所有主要方式及其详细说明和示例。 1. 绑定到 DataContext 这是最常见的绑定…

12.1Linux阻塞和非阻塞IO详细知识点_csdn

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式&#xff0c;在编写驱动的时候一定要考虑到阻塞和非阻塞。本章我们就来学习一下阻塞和非阻塞 IO&#xff0c;以及如何在驱动程序中处理阻塞与非阻塞&#xff0c;如何在驱动程序使用等待队列和 poll 机制。 1.1阻…

Walrus 经济模型 101

本文作者&#xff1a;Steve_4P&#xff0c;文章仅代表作者观点。 要点总结 2025 年 3 月 20 日&#xff0c;Walrus 基金会宣布成功融资 约 1.4 亿美元&#xff0c;投资方包括 Standard Crypto、a16z 等机构。Walrus 当前估值约 20 亿美元&#xff0c;其中 7% 代币供应量分配给…

Linux 存储管理:从 LVM 到 Stratis 的深度解析

1. 逻辑卷管理器&#xff08;LVM&#xff09;的作用 LVM 是 Linux 的“存储魔术师”&#xff0c;解决传统分区的两大痛点&#xff1a; 灵活扩容&#xff1a;无需停机&#xff0c;动态调整磁盘空间&#xff08;如从 100G 扩展到 200G&#xff09;。 抽象管理&#xff1a;将多个…

SpringBoot2集成Elasticsearch8(使用spring-boot-starter-data-elasticsearch)

写在前面 使用spring-boot-starter-data-elasticsearch集成Elasticsearch8&#xff1f; What? 官方写的不支持啊&#xff1f;让我们来看下官方给出的版本建议。 官方地址&#xff1a; https://docs.spring.io/spring-data/elasticsearch/reference/elasticsearch/versions.…