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中的媒体查询知识点整理 的相关文章

  • 引用 url() 的值真的有必要吗?

    我应该在样式表中使用以下哪一项 Example 1 background image url image png Example 2 background image url image png Example 3 background i
  • Chrome:网络元素自动移动

    我正在开发一个网络项目 在过去的两周里 我正在进行学期考试 所以我要休息一下 现在 既然他们已经结束了 我又继续我的工作了 但我发现我的一些Web 元素 如按钮 span 在 Chrome 上移动了一些像素 在 IE 和 Mozilla 上
  • CSS 未在 Django 项目中加载?

    我是 Django 新手 但负责该项目的前端工作 我一直在研究如何准确加载 css 文件 但我发现这些方法不起作用 这是 html 文件布局 load static
  • Bootstrap 标签栏平滑移动导航按钮

    我有一个用于切换块的普通引导选项卡面板 在导航中切换块时 活动选项卡会突出显示 但现在 当我单击活动选项卡的背景时 它会立即发生变化 是否可以使切换选项卡时背景不会立即改变 而是根据需要哪个选项卡而平滑地左右移动 这可以用以下方法完成吗cs
  • 文本的彩虹色

    rainbowtext background image webkit gradient linear left top right top color stop 0 f22 color stop 0 15 f2f color stop 0
  • a:悬停颜色不起作用

    一件很奇怪的事情 我想在悬停时更改链接的文本颜色和背景颜色 这是代码 css link menu a color white display block height 100 width 100 text decoration none t
  • 不要包裹 span 元素

    我有一份清单 span 可以在 a 内左右移动的元素 div 元素 如果某些跨度超出了 div 它们应该被隐藏 这可以很好地使用overflow hidden 但是 如果跨度超出了 div 的容纳范围 跨度就会换行 这对于我的用例来说是不期
  • 如何使用 jQuery 单击特定链接时打开引导导航选项卡的特定选项卡?

    我是 jquery 和 bootstrap 的新手 所以请考虑我的错误 我已经创建了一个用于登录和注册的 bootstrap 模式 它包含两个导航选项卡 称为登录和注册 我有两个按钮可以弹出相同的模态窗口 但在模态窗口内显示不同的选项卡 每
  • 鼠标悬停时放大图像而不使用 Jquery 推送其他图像?

    当您将鼠标悬停在图像缩略图上 例如 Google 图片正在使用的缩略图 时 我正在尝试创建图像放大效果 但是 我遇到了一个问题 即放大的图像根据放大的图像的位置不断将另一张图像推到另一个位置 这是我到目前为止所拥有的
  • jQuery 位置 DIV 固定在滚动顶部

    我有一个相当长的页面 在布局的菜单中 有一个弹出菜单 我希望菜单的弹出部分显示在页面顶部 即使用户已将菜单栏滚动到视图之外 这是菜单的 HTML div div Compare up to 3 cards side by side Clic
  • 有没有办法编写屏幕阅读器会忽略的内容?

    我刚刚开发了一个需要视力正常和视障用户都可以访问的页面 内容的某些元素仅与视觉元素相关 因此根本不适用于使用屏幕阅读器的人 例如 链接在新窗口中打开视听演示文稿 但由于我无法控制的情况 窗口的大小被笨拙地调整 因此有一条消息说您应该调整窗口
  • 在 javascript、jQuery 或 css 中,如何让 div 或 iframe 展开以填充其余空间

    我有三个 iframe 我将顶部 iframe 设置为 50px 高度 将底部 iframe 设置为 50px 但我希望中间 iframe 扩展以填充其余空间 有没有一种技术可以用来对任何窗口屏幕尺寸执行此操作 谢谢 example
  • 样式标签中的源映射是否有效?

    我在标签和源映射中遇到 CSS 问题 为了缩短项目的加载时间 我改变了将 CSS 放入 HTML 的方式 将其改为 h1 Source maps working wonderfully h1 进入这个
  • 如何动态突出显示网页上的字符串?

    我想创建带有 url 的页面 例如 http xyzcorp schedules 2015Aug24 Aug28 Jim Hawkins http xyzcorp schedules 2015Aug24 Aug28 Billy Bones
  • 即使在包裹后也具有等宽的弹性项目

    是否可以制作一个像这样的纯 CSS 解决方案 物品有一些min width 它们应该动态增长以填充所有容器宽度 然后换行到新行 列表中的所有项目都应具有相同的宽度 现在看起来是这样的 这就是我希望它看起来像的样子 我已经手动管理这些底部项目
  • HTML 元素的默认背景颜色是什么?白色还是透明?

    我只是被一个简单的问题困住了 想弄清楚 HTML 元素的默认背景颜色是什么 是白色的还是透明的 默认背景颜色是透明的 看这里 https developer mozilla org en docs Web CSS background co
  • 元素和 svg 形状之间的白线

    大家好 我正在使用由 shapedivider 生成的 svg 整形器 您可以看到 有一条白线 我不知道为什么它在那里以及如何删除它 请你帮助我好吗 有形状分隔符的代码 custom shape divider bottom 1640714
  • 如何在表格列标题处垂直旋转文本

    我用过这个数据表 http www datatables net 在我的网页上 这是fiddle http jsfiddle net fxju7 2 链接我放置代码的地方 我想要 第一个数字第二个数字列应该垂直旋转 我已经做到了 但是 问题
  • 在 HTML5 iOS 7 / iOS 8 中显示十进制键盘

    经过几个小时的搜索后 我只是有一个简单的问题 是否有可能在网络浏览器输入字段中显示小数键盘 input type number 只显示数字 但我需要在左下角使用逗号或点 我尝试过任何事情 pattern step等等 但没有显示十进制键盘
  • 如何从 bootstrap-markdown.js 调用 .getContent 和 .parseContent

    我是使用 Bootstrap 插件的新手 刚刚通过代码学院 http www codecademy com en skills make an interactive website 我真的很想用这个很棒的引导 Markdown 插件 ht

随机推荐

  • 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