CSS3中的媒体查询知识点整理

2023-11-08

媒体查询

概念

媒体查询就是针对不同的终端 (PC端、iPad端和移动端),在使相同的 HTML结构的前提下,利用 CSS 的媒体查询来为不同的终端调用不同的CSS样式,从而在不同的终端中,都能呈现出不同的UI界面效果。

并且在使用媒体查询时,可以针对不同的媒体类型定义不同的样式

综上:@media 可以针对不同的屏幕尺寸设置不同的样式,特别是在需要设计响应式页面时,@media 是非常有用的。

当每次调整浏览器大小的过程中,页面也会根据浏览器的宽高来重新渲染页面

在 IE8及以下都不兼容

语法

@media not|only mediatype and (mediafeature1 and|or|not mediafeature2) {
  CSS-Code;
}
  • not/only/and:逻辑运算符 (括号外面的)
  • mediatype:媒体类型
  • mediafeature:媒体功能

逻辑运算符:

  • not否定,在 @media 后,不满足则返回 true,否则返回 false
  • only仅仅,在 @media 后。
  • and连接多个媒体查询规则组合成 单条媒体查询,在 mediatype 后。
  • or或者
  • ,:将多个媒体查询合并为一个规则。
/* 小于宽高为 600px 时 隐藏div */
@media screen and ((max-width: 600px), (max-height:300px)){
  div{display: none;}
}

@media screen and (max-width: 600px) and (max-height:300px){
  div{display: none;}
}

@media screen and (max-width: 600px) or (max-height:300px){
  div{display: none;}
}
/* 下于宽为 600px 时 隐藏div,不关高的事 */
@media screen and (max-width: 600px) not (max-height:300px){
  div{display: none;}
}

媒体类型 (mediaType):

  • all:匹配所有设备

  • print:用于打印机

  • screen:用于屏幕

  • speech:用于语音合成器 (比如屏幕阅读器)

    以下的媒体类型都已经被废弃了,但浏览器还是能够识别

  • aural:用于语音和音频合成器,被 speech 替代

  • braille:用于盲人用点字法触觉回馈设备

  • embossed:用于分页的盲人用点字法打印机

  • handheld:用于小的手持的设备

  • projection:用于方案展示,比如幻灯片

  • tty:用于使用固定密度字母栅格的媒体,比如电传打字机和终端

  • tv:用于电视机类型的设备

媒体功能 (mediafeature):

  • width:定义输出设备中的页面可见区域宽度
  • height:定义输出设备中的页面可见区域高度
  • max-width:最大可见区域宽度。
  • min-width:最小可见区域宽度。
  • min-height:最小可见区域高度。
  • max-height:最大可见区域高度。
  • color:定义输出设备每一组彩色原件个数,若不是彩色设备,值为0
  • min-color:定义输出设备每一组彩色原件的最小个数。
  • max-color:定义输出设备每一组彩色原件的最大个数。
  • color-index:定义输出设备中彩色查询表中的条目数未使用彩色查询表,值为0
  • min-color-index:定义输出设备中彩色查询表中的最小条目数。
  • max-color-index:定义输出设备中彩色查询表中的最大条目数。
  • aspect-ratio:定义输出设备中的页面可见区域宽度与高度比率
  • min-aspect-ratio:定义输出设备中的页面可见区域宽度与高度的最小比率。
  • max-aspect-ratio:定义输出设备的屏幕可见宽度与高度的最大比率。
  • device-aspect-ratio:定义输出设备的屏幕可见宽度与高度比率
  • min-device-aspect-ratio:定义输出设备的屏幕可见宽度与高度的最小比率。
  • max-device-aspect-ratio:定义输出设备的屏幕可见宽度与高度的最大比率。
  • device-width:定义输出设备的屏幕可见宽度
  • device-height:定义输出设备的屏幕可见高度
  • min-device-width:定义输出设备的屏幕最小可见宽度。
  • min-device-height:定义输出设备的屏幕的最小可见高度。
  • max-device-width:定义输出设备的屏幕最大可见宽度。
  • max-device-height:定义输出设备的屏幕可见的最大高度。
  • resolution:定义设备的分辨率。如:96dpi, 300dpi, 118dpcm。
  • min-resolution:定义设备的最小分辨率。
  • max-resolution:定义设备的最大分辨率。
  • monochrome:定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
  • min-monochrome:定义在一个单色框架缓冲区中每像素包含的最小单色原件个数。
  • max-monochrome:定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
  • orientation:定义输出设备中的页面可见区域高度是否大于或等于宽度
    • portrait:竖屏,屏幕视窗高度大于宽度。
    • landscape:横屏,屏幕视窗宽度大于高度。
  • scan:定义电视类设备的扫描工序。
  • grid:查询输出设备是否使用栅格或点阵。

举例

<!-- 宽度大于 900px 的屏幕使用该样式 -->
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css">
<!-- 宽度小于或等于 600px 的屏幕使用该样式 -->
<link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css">
单个使用
/* 在屏幕可视窗口尺寸 小于480 像素的设备上修改背景颜色 */
@media screen and (max-width: 480px) {
    body {
        background-color: lightgreen;
    }
}

/* 屏幕可视窗口尺寸 小于600 像素时将 div 元素隐藏 */
@media screen and (max-width: 600px) {
  div {
    display: none;
  }
}
用min-width时,小的在上面,大的在下面
/* 小设备 (平板电脑和大型手机) */
@media only screen and (min-width: 600px) {
    body {background: green;}
}

/* 中型设备(平板电脑) */
@media only screen and (min-width: 768px) {
    body {background: blue;}
} 

/* 大型设备(笔记本电脑/台式机) */
@media only screen and (min-width: 992px) {
    body {background: orange;}
} 

/* 超大型设备(大型笔记本电脑和台式机) */
@media only screen and (min-width: 1200px) {
    body {background: pink;}
}
用max-width时,大的在上面,小的在下面
/* 992px-1200px */
@media (max-width: 1200px) {
  body {background-color: pink;}
}
/* 768px-992px */
@media (max-width: 992px) {
  body {background-color: orange;}
}
/* 600px-768px */
@media (max-width: 768px) {
  body {background-color: blue;}
}
/* <=600px */
@media (max-width: 600px) {
  body {background-color: green;}
}
同时使用 min-width 和 max-width
/* <=600px */
@media (max-width: 600px) {
  body {background: green;}
}
/* 601px-992px */
@media (min-width: 601px) and (max-width: 992px) {
  body {background: blue;}
}
/* 993px-1200px */
@media (min-width: 993px) and (max-width: 1200px) {
  body {background: orange;}
}
/* >=1201px */ 
@media (min-width: 1201px) {
  body {background: pink;}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS3中的媒体查询知识点整理 的相关文章

  • 在 Chrome 中,应用于包含图像的锚点的轮廓高度不正确

    对于我正在开发的网站 我希望当链接聚焦 悬停 活动时 链接周围会出现虚线轮廓 我希望文本和图像链接发生这种情况 我遇到的问题是 虽然我的代码在 Firefox 和 IE 中运行良好 但在 Chrome 7 0 517 41 中 虚线轮廓与我
  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • CSS 变换源不能与 translate() 一起使用

    我想将 div 从中心点移开 但似乎translate 不关心变换原点是什么 并使用元素的左上角来移动它 这是一个测试来证实这一点 div class items div class item 1 style width 100px hei
  • 简化 CSS 代码

    我怎样才能简化这段代码 user panel subscribe user panel faves user panel tags user panel title user panel calendar a user panel item
  • 没有嵌套容器的桌面和移动 Flexbox 布局

    我有 3 个 div 它们必须按移动布局的特定顺序排列 但我必须将第 2 个 div 作为桌面布局的侧边栏 所以对于移动设备 分区1 分区2 分区3 对于桌面 分区1 div2 分区3 在桌面布局中 div 2 有阴影背景 因此必须是父级的
  • 在打印 CSS 上在每个页面周围绘制边框?

    打印时我需要在每个页面周围绘制边框 我最初是使用带有分页符的 div 来完成此操作 例如 media print contentContainer position inline height 98 width 100 top 0px le
  • 显示带有背景颜色的百分比条

    例如 如果我有一个包含两列和 2 行的表 Col1 Percentage 50 50 70 70 如何用代表 COl1 值的颜色填充百分比列 像这样的东西 您可以使用具有两个紧接着的停止点的线性渐变 percentageFill heigh
  • 单击输入字段会触发窗口调整大小

    我有一个带有徽标 菜单和搜索的标题 当我在桌面上时 我会按该顺序显示所有元素 但如果我的窗口宽度小于 980 像素 菜单会隐藏 有一个切换按钮 并且徽标会与nav并附在徽标之后 如果宽度更大 则徽标将再次分离并附加到 DOM 中的旧位置 w
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 如何设置旋转元素背面的样式?

    我有一个figure它是可旋转的 通过用户输入任意角度 该旋转明显地使用transition财产 当该元件旋转超过 90 度 90 度时 元件的背面可见 我想对元素的通常隐藏的一面进行与正面不同的设计 但我不确定如何实现这一点 figure
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互
  • 两个 Div 之间的固定宽度间隙

    有谁知道如何修复两个 div 之间的间隙 我有一个主要内容 Div 里面有两个带有图片的 Div 视图的宽度为 768 像素 当我开始拉伸视图时 两张图片开始相互远离 但理想情况下 主要内容 Div 应该在周围有空白的情况下拉伸 并且图片之
  • 通过 JavaScript 检测浏览器换行

    我需要 javascript 来检测每个浏览器包装的文本行并将其包装到 span class line 我读过一些关于测量每个单词的 y 轴的文章 但还没有看到可靠的解决方案 这是我到目前为止所拥有的 看到它Jsfiddle http js
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • CSS 中的像素与像素密度

    我对 HTML 和 CSS 非常陌生 我突然想到 当决定某个东西是 5px 时 比如说 由于像素的物理尺寸取决于密度 所以 5px 在 100 ppi 的屏幕上看起来肯定比在 300 ppi 的屏幕上看起来更大ppi 这是正确的吗 如果是
  • 垂直对齐复选框标签? [复制]

    这个问题在这里已经有答案了 我有这样的复选框
  • 删除数据表列中的额外填充

    你好 我创建了 JQuery DataTables 如下所示 所以我的问题是如何删除 图片 列中过多的填充 这就是我初始化表的方式 violators tbl DataTable aoColumnDefs bSortable false a
  • 如何在使用页面锚点导航时设置“激活”类以在 Angular 2 中引导导航栏?

    我正在使用 Angular 2 和 Bootstrap 4 创建一个单页网站 我创建了一个始终位于页面顶部的导航栏组件 并且我正在使用页面锚点导航 id 请注意 我还没有创建路由模块 到目前为止还没有必要这样做 导航栏代码如下
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png

随机推荐

  • c#文件下载示例的4种方法

    原文链接 http www jb51 net article 57068 htm C 实现HTTP下载文件的方法
  • 电脑可以聊微信但是无法上网页的解决方法

    电脑可以聊微信但是无法上网页 ping不通百度的IP地址 一般是电脑的DNS出现错误 解决方案如下 打开360安全卫士 点击功能大全中的断网急救箱 进行扫描 之后进行修复 问题即可解决
  • clickhouse重启报错以及远程无法连接

    1 启动报Processing configuration file etc clickhouse server config xml 文件没有写入权限 先添加写入权限 sudo chmod 600 etc clickhouse serve
  • JVM性能优化之Tomcat服务器参数配置优化

    前言 tomcat 服务器在JavaEE项目中使用率非常高 所以在生产环境对tomcat的优化也变得非常重要了 对于tomcat的优化 主要是从2个方面入手 一是tomcat本身的配置 另一个是tomcat所运行的Jvm虚拟机的调优 优化传
  • Windows XP环境下IPSec 隧道的配置

    前言 这是这学期防火墙课程的一个实验 觉得挺有意义 所以记录在博客里 一 实验目的 本实验主要验证IP通信在建立IPSec隧道前后的变化 为了简化实验过程 这里只对ICMP进行加密 但在配置的过程中即可发现 其他IP协议要进行同样的加密也是
  • 【轩说AI】生成模型(1)——自编码器AE+变分自编码器VAE

    文章目录 生成模型 从概率分布的角度去理解 生成 一张图片 生成宝可梦 生成系列图片 自动编码器Auto Encoder AE的模型及其存在的问题 AE中的高斯混合模型 AE的训练情况 举例理解从AE到VAE 变分自动编码器Variatio
  • 经典排序之快速排序

    一 概述 快速排序是Hoare于1962年提出的一种二叉树结构的交换排序方法 其基本思想为 任取待排序元素序列中的某元素作为基准值 按照该排序码将待排序集合分割成两子序列 左子序列中所有元素均小于基准值 右子序列中所有元素均大于基准值 然后
  • 剑指offer 学习笔记 树中两个节点的最低公共祖先

    面试题68 树中两个节点的最低公共祖先 可以先得到从根节点到这两个节点的路径 之后找出最后一个公共节点 代码中的树为 include
  • 学习笔记-Matlab算法篇-现代优化算法

    现代优化算法 01遗传算法 定义 遗传算法 Genetic Algorithms 简称 GA 是一种基于自然选择原理和自然遗传机制的搜索 寻优 算法 它是模拟自然界中的生命进化机制 在人工系统中实现特定目标的优化 遗传算法的实质是通过群体搜
  • svn访问版本库时一直提示: please wait while the repository browser is initializing

    最近不知道做了什么操作 原来正常的SVN Check In Out都无法正常操作 正常Check In的动作 几秒钟就会操作完成 但是我却等了好久好久 然后提示Connection timed out 一开始怀疑是SVN Client的版本
  • 谷歌广告(Google ads)如何投放?新手必看的超全教程

    Google是公认的全球最大的搜索引擎 同时 Google还通过旗下的 YouTube Gmail Google Play Android等产品 汇集了海量的海外用户 对于跨境出海商家来说 谷歌广告是提高销售额 提高产品流量 拓展全球市场的
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别

    文章目录 前言 变量对比 0 i i var var var 总结 前言 最近使用批处理程序处理文件的时候 发现这 bat中的变量形式真是 变化多端 有时候加1个百分号 有时候加2个百分号 还有的时候加感叹号 真是让初学者一头雾水 于是查询
  • Spring核心方法 refresh 解析

    refresh 方法简述 refresh 是 Spring 最核心的方法 没有之一 上帝就是用这个方法创造了 Spring 的世界 这是一个同步方法 用synchronized关键字来实现的 该方法包含以下12个核心方法 步骤 prepar
  • **关于使用adb时遇到mount:read only file system 或者是adb remount:read only file system时的处理方法如下

    关于使用adb时遇到mount read only file system 或者是adb remount read only file system时的处理方法如下 本文所述的方法适用于无法用mout命令修改 system只读权限 ro 的
  • 元素定位之css selector(选择器定位)

    语法 find element by css selector css选择器定位策略 或者 find elements by css selector css选择器定位策略 1 css可以通过元素的 id class 标签 这三个常规属性直
  • TensorRT加速Deformable Detr实践

    TensorRT加速Deformable Detr实践 自TensorRT 8 4 1 5发布以来 惊喜的发现TensorRT官方实现了可变形transformer的插件 这让TensorRT便捷实现加速Deformable Detr乃至今
  • 在python控制台输入变量,判断奇偶

    原题 从python控制台输入变量x 然后判断这个x是奇数还是偶数 并且需要将这一过程放到循环中 这样可以不断输入要判断的数值 直到输入end退出循环 需要用到的知识点 1 在控制台输入 2 while语句 3 if语句及if语句的嵌套使用
  • 类-1246

    1246 设计回文判断类 题目描述 分析下面所给自定义类 myStrCla 以及随后给出的主函数及该程序执行后的屏幕显示结果 而后在类体外给出 补充 其三个成员函数的具体实现 用于完成所设定的自定义功能 以使程序执行后的屏幕显示结果为 ab
  • android平台下OpenGL ES 3.0着色语言基础知识(上)

    OpenGL ES 3 0学习实践 android平台下OpenGL ES 3 0从零开始 android平台下OpenGL ES 3 0绘制纯色背景 android平台下OpenGL ES 3 0绘制圆点 直线和三角形 android平台
  • CSS3中的媒体查询知识点整理

    媒体查询 文章目录 媒体查询 概念 逻辑运算符 媒体类型 mediaType 媒体功能 mediafeature 举例 单个使用 用min width时 小的在上面 大的在下面 用max width时 大的在上面 小的在下面 同时使用 mi