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

前端css-媒体查询@media以及常见使用例子

媒体查询(@media)介绍

媒体查询(@media)是 CSS 中用来针对不同的设备特性(如屏幕尺寸、分辨率等)应用不同样式的一种技术。通过媒体查询,可以使页面在不同设备上呈现不同的布局,实现响应式设计。

@media media-type and (media-feature) {/* CSS rules */
}

media-type:表示媒体类型,常见的媒体类型有:

  • all:适用于所有设备(默认)

  • screen:适用于屏幕设备

  • print:适用于打印设备

media-feature表示媒体特性,比如设备的宽度、高度、分辨率等。 常见的媒体特性有:

  • min-width:设备屏幕的最小宽度

  • max-width:设备屏幕的最大宽度

  • orientation:设备的屏幕方向(横向 landscape 或纵向 portrait


媒体查询中的逻辑运算符

  • and:用于组合多个条件,所有条件都满足时才会应用样式。

  • ,(逗号):相当于 "或" 操作,任意一个条件满足时应用样式。

  • not:取反,应用在不符合某个条件的设备上。

常见例子

1. 基本的宽度媒体查询

针对不同屏幕宽度应用不同样式。一般用于响应式布局,根据设备的屏幕宽度调整布局和样式。

/* 当屏幕宽度小于等于600px时应用此样式 */
@media screen and (max-width: 600px) {body {background-color: lightblue;}
}/* 当屏幕宽度大于600px时应用此样式 */
@media screen and (min-width: 601px) {body {background-color: lightgreen;}
}
2. 响应式布局中常用的断点

针对不同设备屏幕宽度使用断点来调整布局。

/* 手机 */
@media screen and (max-width: 480px) {body {font-size: 14px;}
}/* 平板设备 */
@media screen and (min-width: 481px) and (max-width: 768px) {body {font-size: 16px;}
}/* 桌面设备 */
@media screen and (min-width: 769px) {body {font-size: 18px;}
}
3. 针对屏幕方向的媒体查询

orientation 可以判断设备是横屏还是竖屏。

/* 设备为横屏模式时应用此样式 */
@media screen and (orientation: landscape) {body {background-color: orange;}
}/* 设备为竖屏模式时应用此样式 */
@media screen and (orientation: portrait) {body {background-color: yellow;}
}
4. 针对高分辨率屏幕(如 Retina 屏幕)的媒体查询

min-resolutionmin-device-pixel-ratio 可以检测设备的像素密度。

/* 针对高分辨率屏幕 */
@media screen and (min-resolution: 2dppx) {img {width: 50%;}
}/* 或者使用 device-pixel-ratio */
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-device-pixel-ratio: 2) {img {width: 50%;}
}
5. 使用 not 排除某些条件

not 可以用于排除某些特定条件。

/* 应用在非屏幕设备上 */
@media not screen {body {background-color: gray;}
}
6. 多条件查询

组合多个条件,只有当两个条件同时满足时,才会应用样式。

/* 当屏幕宽度在600px和1200px之间,且是横屏模式时应用此样式 */
@media screen and (min-width: 600px) and (max-width: 1200px) and (orientation: landscape) {body {background-color: pink;}
}

媒体查询的实际应用

媒体查询在响应式设计中应用非常广泛,可以通过它来根据设备的特性动态调整页面布局。例如,在开发移动端友好的网站时,可以通过媒体查询在不同屏幕宽度上设置不同的字体大小、间距、布局等,使得网站在手机、平板、桌面等设备上都有良好的展示效果。

总结

  • 媒体查询是响应式设计的核心,通过它可以针对不同的设备或屏幕特性应用不同的 CSS 样式。

  • 常见的使用场景包括设备宽度调整、屏幕方向检测、高分辨率屏幕优化等。


http://www.mrgr.cn/news/60160.html

相关文章:

  • 读数据工程之道:设计和构建健壮的数据系统22获取阶段考虑因素
  • 若依框架部署到服务器刷新或者是退出登录出现404
  • asp.net core会话session设置滑动过期时间
  • 多端项目开发全流程详解 - 从需求分析到多端部署
  • MATLAB实现遗传算法优化零件拆卸装配问题
  • Spring Cache-基于注解的缓存
  • 探索基础设施即代码(IaC):Terraform 与 CloudFormation 的应用
  • 目标检测数据集 - 新能源车车牌检测数据集下载「包含VOC、COCO、YOLO三种格式」
  • linux 中文实用型手册 基于RHEL(红帽系)
  • 【linux网络编程】| 网络套接字socket | 初识网络开发
  • 什么是全自动虫情测报灯
  • 应用快速启动工具 Biniware Run v7.0.1.0 中文绿色版
  • 【NOI】C++函数入门二(自定义函数)
  • Django入门教程——员工数据管理
  • 面向应用型人才的中药炮制教学实训方案
  • 掌握 Golang 性能调优:深入理解 `runtime/debug` 包
  • 分布式储能监控系统在某5MW分布式储能项目中的应用
  • 【源码+文档】基于SpringBoot+Vue健康饮食智慧销售系统【提供源码+答辩PPT+参考文档+项目部署】
  • 自动驾驶---理想汽车智驾进展
  • Django入门教程——动态表格分页展示数据
  • Java版本的基于计算机视觉的跃动小子保卫主公自动通关计划之整体思路篇
  • 创建和管理IPAM
  • Kubernetes:(二)K8Sv1.20二进制部署
  • Lesson12---queue
  • 字节跳动在欧洲设立AI研发中心
  • 如何将 Excel 数据转换为 SQL 脚本:基于 Java 的全面解析