当前位置: 首页 > news >正文

【CSS】CSS3媒体查询全攻略

媒体查询教程

媒体查询(Media Queries)是CSS3中引入的强大功能,允许内容根据设备特性(如屏幕尺寸、分辨率、方向等)进行自适应调整。以下是媒体查询的详细教程:

基本语法

@media mediatype and (media feature) {/* CSS规则 */
}

常用媒体类型

  • all - 所有设备(默认)
  • screen - 电脑屏幕、平板、智能手机等
  • print - 打印机和打印预览
  • speech - 屏幕阅读器等发声设备

常用媒体特性

视口/屏幕特性

  • width - 视口宽度
  • height - 视口高度
  • min-width - 视口最小宽度
  • max-width - 视口最大宽度
  • orientation - 方向(portrait竖屏/landscape横屏)
  • aspect-ratio - 视口宽高比

显示质量特性

  • resolution - 设备分辨率
  • scan - 电视扫描方式
  • grid - 是否是网格设备(如终端)

常见断点示例

/* 超小设备 (手机, 600px及以下) */
@media only screen and (max-width: 600px) {...}/* 小设备 (平板, 600px以上) */
@media only screen and (min-width: 600px) {...}/* 中等设备 (平板横屏, 768px以上) */
@media only screen and (min-width: 768px) {...}/* 大设备 (笔记本/台式机, 992px以上) */
@media only screen and (min-width: 992px) {...}/* 超大设备 (大屏幕, 1200px以上) */
@media only screen and (min-width: 1200px) {...}

逻辑运算符

可以使用and,(相当于or)、notonly来组合媒体查询:

/* 横屏且最小宽度700px */
@media (orientation: landscape) and (min-width: 700px) {...}/* 竖屏或屏幕宽度小于500px */
@media (orientation: portrait), (max-width: 500px) {...}/* 仅对屏幕设备且不是旧浏览器 */
@media only screen and (min-width: 768px) {...}

实际应用示例

/* 默认样式 - 移动优先 */
.container {width: 100%;padding: 10px;
}/* 平板及以上 */
@media (min-width: 768px) {.container {width: 750px;padding: 15px;}
}/* 桌面及以上 */
@media (min-width: 992px) {.container {width: 970px;padding: 20px;}
}/* 大桌面 */
@media (min-width: 1200px) {.container {width: 1170px;}
}

在HTML中链接媒体查询

也可以在link标签中使用媒体查询:

<link rel="stylesheet" media="screen and (min-width: 900px)" href="desktop.css">
<link rel="stylesheet" media="screen and (max-width: 600px)" href="mobile.css">

现代响应式设计建议

  1. 移动优先:先写移动端样式,再用媒体查询逐步增强
  2. 基于内容断点:根据内容布局需要设置断点,而非特定设备尺寸
  3. 使用相对单位:em/rem/%等相对单位比固定像素更灵活
  4. 测试多种设备:确保在各种设备上都能良好显示
http://www.lqws.cn/news/482185.html

相关文章:

  • 基于Vue.js的图书管理系统前端界面设计
  • 【分布式技术】Bearer Token以及MAC Token深入理解
  • 大模型应用:如何使用Langchain+Qwen部署一套Rag检索系统
  • 制造业B端登录页案例:生产数据安全入口的权限分级设计
  • AMAT P5000 CVDFDT CVDMAINT Precision 5000 Mark 操作 电气原理 PCB图 电路图等
  • 【Datawhale组队学习202506】YOLO-Master task03 IOU总结
  • 防御悬垂指针:C++的多维度安全实践指南
  • 【前后前】导入Excel文件闭环模型:Vue3前端上传Excel文件,【Java后端接收、解析、返回数据】,Vue3前端接收展示数据
  • hot100 -- 16.多维动态规划
  • 分布式ID生成方式及优缺点详解
  • Azure Devops
  • 时序数据库IoTDB的架构、安装启动方法与数据模式总结
  • 在线法律服务平台、AI法律问答、律师管理、案件管理、聊天、法律博客
  • ollama + dify 搭建本地知识库
  • MongoDB 8.0.10 windows11安装记录
  • Golang 中接口嵌套的详细说明和使用示例
  • (LeetCode 面试经典 150 题 ) 189. 轮转数组(字符串、双指针)
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(3):单词2018年12月2024年7月
  • 语音识别提取文本
  • LINUX 622 SAMBA
  • Linux系统基本操作指令
  • Docker Desktop + Kubernetes 使用 hostPath 持久化挂载“坑点”全解析
  • Python 爬虫简单示例
  • JAVA集合篇--深入理解ConcurrentHashMap图解版
  • Python 深度学习基础:TensorFlow 入门——从张量到神经网络的实战指南
  • Kafka 源码剖析:消息存储与协议实现(二)
  • GIT学习笔记
  • Cursor快速上手+科学使用指南
  • EMD与PI:战略与执行的协同
  • 【数据结构与算法】数据结构核心概念系统梳理