CSS媒体查询简介及案例

news2024/11/25 14:25:53

文章目录

    • 一、简介
    • 二、使用方式
      • 2.1 目标
      • 2.2 @import
      • 2.3 link、source等
      • 2.4 @media
      • 2.5 其他
    • 三、媒体类型(Media Types)
      • 3.1 简介
      • 3.2 常见的媒体类型值
      • 3.3 已废弃媒体类型
    • 四、媒体特性(Media Features)
      • 4.1 简介
      • 4.2 常见媒体特性简介
    • 五、媒体查询 - 逻辑操作符(Logical Operators)
      • 5.1 简介
      • 5.2 逻辑运算符
      • 5.3 案例

一、简介

媒体查询是一种提供给开发者针对不同设备进行定制化开发的一个接口。通过它,我们可以根据设备类型(比如屏幕设备、打印机设备)特定的特性(比如屏幕的宽度)来修改或适配页面。

二、使用方式

2.1 目标

需求:在宽度小于800时,显示背景色红色

2.2 @import

通过@media@import使用不同的CSS规则

新建demo.css文件,样式如下:

body {
  background-color: red;
}

demo.html中引入css,并设置相关媒体特性:

<style>
  @import url(./demo.css) (max-width: 800px);
</style>

其中(max-width: 800px)就是我们设置的条件,必须以()包裹,其支持的类型下面会单独介绍。

2.3 link、source等

demo.html中通过link引入css文件,如下:

<link rel="stylesheet" media="(max-width: 800px)" href="./demo.css">

2.4 @media

demo.htmlstyle代码如下:

<style>
  @media (max-width: 800px) {
    body {
      background-color: aqua;
    }
  }
</style>

目前,比较常用的是用该方式来使用不同的CSS规则,具体下面介绍。

2.5 其他

另外,可以通过window.matchMedia()MediaQueryList.addListener()方法来测试和监控媒体状态

三、媒体类型(Media Types)

3.1 简介

在使用媒体查询时,必须指定要使用的媒体类型

媒体类型可选的,默认会是all类型

3.2 常见的媒体类型值

  • all:适用于所有设备
  • print:适用于在打印预览模式下屏幕上查看的分页材料和资料
  • screen:主要用于屏幕
  • speech:主要用于语音合成器

3.3 已废弃媒体类型

  • CSS 2.1Media Queries 3定义了一些额外的媒体类型(tty、tv、projection、handheld、braille、embossed以及aural)
  • 上述媒体类型在Media Queries 4中已经被废弃,并且不应该再被使用
  • aural类型被替换为具有相似效果的speech

四、媒体特性(Media Features)

4.1 简介

媒体特性(Media Features)描述了浏览器、输出设备或预览环境的具体特性

  • 通常会将媒体特性描述为一个表达式
  • 每条媒体特性表达式必须用括号括起来

4.2 常见媒体特性简介

在这里插入图片描述

五、媒体查询 - 逻辑操作符(Logical Operators)

5.1 简介

媒体查询的表达式最终会获得一个Boolean值,也就是truefalse

  • 如果为true,那么就会生效
  • 如果为false,那么就不会生效

5.2 逻辑运算符

如果有多个条件,我们可以通过逻辑操作符联合复杂的媒体查询

  • and:用于将多个媒体查询规则组合成单条媒体查询
  • not:用于否定媒体查询,如果不满足这个条件,则返回true,否则返回false
  • only:仅在整个查询匹配时才用于应用样式
  • ,(逗号):用于将多个媒体查询合并为一个规则

5.3 案例

需求:在屏幕宽度320-414时,展示红色,在415-800时展示绿色,当大于800时,展示蓝色
代码如下:

<style>
  @media (min-width: 320px) and (max-width: 414px) {
    body {
      background-color: red;
    }
  }

  @media (min-width: 415px) and (max-width: 800px) {
    body {
      background-color: green;
    }
  }

  @media (min-width: 801px) {
    body {
      background-color: blue;
    }
  }
</style>

上述代码可以简写为:

<style>
  @media (max-width: 414px) {
    body {
      background-color: red;
    }
  }

  @media (max-width: 800px) {
    body {
      background-color: green;
    }
  }

  @media (min-width: 801px) {
    body {
      background-color: blue;
    }
  }
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68613.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

金色传说:SAP-QM-周期性检验:MSC1N/MSC2N/MSC3N下一次检验日期逻辑问题

文章目录前言一、实现方案二、收货测试1.建立生产订单2.触发周期检验前言 物料在存储过程中&#xff0c;通常会有定期检验&#xff0c;也叫周期性检验的需求&#xff0c;这里给大家分享下周期性检验的实现过程。 一、实现方案 1.首先要在TCode&#xff1a;MM02-质量管理视图中…

数据结构的起航,用C语言实现一个简约却不简单的顺序表!(零基础也能看懂)

目录 0.前言 1.线性表 2.顺序表 2.1什么是顺序表 2.2 顺序表结构体设计 2.3 顺序表的初始化 2.4 顺序表的销毁 2.5* 顺序表的尾插 2.6* 顺序表的尾删 2.7 顺序表的头插 2.8 顺序表的头删 2.9 顺序表的查找 2.10 顺序表的插入&#xff08;任意位置&#xff09; 2.11…

载药磷酸钙纳米粒子;载药阿奇霉素纳米粒子;载药酪蛋白纳米粒子

产品名称&#xff1a;载药磷酸钙纳米粒子&#xff1b;载药阿奇霉素纳米粒子&#xff1b;载药酪蛋白纳米粒子 英文名称&#xff1a;Drug loaded calcium phosphate nanoparticles; Azithromycin loaded nanoparticles; Drug loaded casein nanoparticles 描述&#xff1a; 磷…

C# --- 结构体

1.结构体与类的第一个区别是创建的时候使用的关键字不同 --- 结构体 struct ; 类是 class 2.结构体中不能够自定义无参构造函数&#xff0c;因为结构体中已经隐式包含了一个无参构造函数&#xff0c;这个不像类中自带无参构造函数可以被我们替代&#xff0c;它是无法替代的 3…

OSWE 考试总结

背景 今天&#xff0c;2022年12月6日&#xff0c;我收到了 OSWE 考试通过的邮件。至此&#xff0c;Offsensive Security 之旅告一段落。我拿到了 KLCP, OSCP, OSEP, OSED, OSWE, OSCE3。圆满完成三月份立下的 FLAG&#xff0c;没有打脸。 这里&#xff0c;小小总结一下 OSWE …

Apache服务深入学习篇(详细介绍)

什么是Apache&#xff1f; Apache HTTP Server&#xff08;简称Apache&#xff09;是Apache软件基金会的一个开放源码的网页服务器&#xff0c;可以在大多数计算机操作系统中运行&#xff0c;由于其跨平台和安全性被广泛使用&#xff0c;是最流行的Web服务器端软件之一。它快速…

汽车电子之功能安全介绍

功能安全介绍 1.什么是功能安全FS&#xff1f; 2.为什么需要功能安全&#xff1f; 3.认识标准《ISO26262》。 4.怎么评估ASIL 等级? 5.功能安全怎么做&#xff08;措施&#xff09;&#xff1f; 6.参考资料 1.什么是功能安全FS? &#xff08;1&#xff09;功能安全的发展过…

VM系列振弦采集模块频率计算与质量评定

VM系列振弦采集模块频率计算与质量评定 运用采集到的若干信号样本数据&#xff0c; 首先估算得到一个频率值&#xff0c;称为“ 伪频率值” &#xff1b;然后在模块异常数据剔除算法模型中&#xff0c; 以寄存器 CAL_PAR1 的值作为主要判定参数&#xff0c; 每个采样值与伪频…

微服务框架 SpringCloud微服务架构 22 DSL 查询语法 22.3 精确查询

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构22 DSL 查询语法22.3 精确查询22.3.1 精确查询22.3.2 精确查询 - 语法22.3…

基于接口策略路由

1:ospf 配置略 设置策略路由PC1为工程部走R1-R2-PC4;PC2为财务部走R1-R3-PC4 一分类: [R1]acl 2006 [R1]rule permit source 1.1.1.2 0 [R1]acl 2007 [R1]rul permit source 1.1.1.3 0 [R1]traffic classifier caiwubu (定义组名为财务部) [R1] if-match acl…

华丰科技递交上会稿:应收账款超6亿 长虹集团与华为是股东

雷递网 雷建平 12月6日四川华丰科技股份有限公司&#xff08;简称&#xff1a;“华丰科技”&#xff09;日前递交上会稿&#xff0c;准备在科创板上市。华丰科技计划募资4.76亿元。其中&#xff0c;2.79亿元用于绵阳产业化基地扩建项目&#xff0c;9636.77万元用于研发创新中心…

GeoGebra 與數學探索 1 GeoGebra 入門到進階之整體介紹

Goal: GeoGebra 除了可以輕鬆的讓我們以即時動態反饋圖形的方式模擬探索幾何的問題, 或是幫我們驗證答案, 也可以進行數論、微積分、矩陣等等各方面的探索, 在問題尺度不大又需要即時以圖像視覺呈現探索過程的情況下, GeoGebra 其實優於以寫程式的方式進行探索. “Talk is che…

【Windows篇】Telnet指令介绍以及telnet测试端口连接示例

演示环境 1.VMware Workstation16虚拟机 2.windows10企业版镜像 前言 Telnet是Internet远程登录服务的标准协议和主要方式&#xff0c;最初由ARPANET开发&#xff0c;现在主要用于Internet会话&#xff0c;它的基本功能是允许用户登录进入远程主机系统。telnet程序是基于TELN…

CleanMyMac2023一键清除垃圾缓存和恶意广告插件 时刻保持Mac畅快运行

CleanMyMac 是一款功能强大的 Mac 清理程序、加速工具和健康护卫&#xff0c;旨在让您的 Mac 重新展现强劲性能。点按一下&#xff0c;即可优化调整整个 Mac畅享智能扫描 — 这款超级简单的工具用于优化您的 Mac。只需点按一下&#xff0c;即可运行所有任务&#xff0c;让您的 …

电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️❤️&#x1f4a5;&#x1f4a5;&#x1f4a5; ​ &#x1f4cb;&#x1f4cb;&#x1f4cb;本文目录如下&#xff1a;⛳️⛳️⛳️ ​ 目录 ​ 1 概述 2 电力系统潮流计…

HTML期末作业——基于html实现娱乐音乐资讯发布平台HTML模板(22页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

蜣螂优化算法Dung beetle optimizer附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

美食杰项目(六)发布菜谱

目录前言具体效果实现的具体功能代码思路主要引入的element ui的具体样式相关代码总结&#xff1a;前言 本节给大家讲的是美食杰项目的发布菜谱的主要功能和具体样式&#xff0c;希望我的代码能够帮助到你&#xff0c;也希望你能够看懂 具体效果 实现的具体功能 按照效果图实…

ASO优化在App Store和Google Play之间的区别

App Store和Google Play这两家应用商店的目的都是&#xff0c;给用户提供平台&#xff0c;让用户们找到自己所需要的APP并下载。那它们具体有哪些区别呢&#xff1f; App Store的关键词更新的前提&#xff0c;必须是提交一个新的应用更新。 1.标题&#xff1a;App Store标题要…

开源的笔记和书签应用Benotes

什么是 Benotes &#xff1f; Benotes 一个开源的自托管笔记和书签网络应用程序。使用 Laravel 和轻量级 Lumen 框架构建&#xff0c;可以作为 PWA 安装并托管在几乎任何地方。同时支持 Markdown 和富文本编辑器。 软件特点&#xff1a; URL 会自动保存图片、标题和描述同时支…