首页 > 其他分享 >@media - 媒体查询

@media - 媒体查询

时间:2023-12-12 18:15:48浏览次数:23  
标签:定义 输出设备 媒体 media min 查询 width 屏幕

一、使用场景

在 CSS 中,媒体查询用于根据不同的屏幕尺寸设置不同的样式。可以使用媒体查询来设置移动端的样式,例如调整字体大小、元素的宽度和高度、图片的缩放比例等。

二、基本使用方式

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

其中,media-type 是指定媒体类型的关键字,例如 "screen" 表示屏幕,"print" 表示打印,"speech" 表示语音朗读等。media-feature-rule 是指定媒体特征的条件,例如 "width <= 500px" 表示屏幕宽度小于 500px。

三、范例

@media screen and (max-width: 500px) { ... }:表示当屏幕宽度小于 500px 时,应用 CSS 规则。
@media screen and (min-width: 500px) { ... }:表示当屏幕宽度大于或等于 500px 时,应用 CSS 规则。
@media screen and (orientation: landscape) { ... }:表示当屏幕方向为横向时,应用 CSS 规则。
@media screen and (orientation: portrait) { ... }:表示当屏幕方向为纵向时,应用 CSS 规则。
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"> ;宽度大于 900px 的屏幕使用该样式

四、使用提升

1、朝向

一个受到良好支持的媒体特征是orientation,我们可以用它测得竖放(portrait mode)和横放(landscape mode)模式。
如:

@media (orientation: landscape) {
    body {
        color: rebeccapurple;
    }
}
// 代码指的是要在设备处于横向的时候改变 body 文本颜色

2、"与"、"或"和"非"

与 : 混合媒体特征,你可以以与在上面使用and很相同的方式,用and来混合媒体类型和特征。

@media screen and (min-width: 400px) and (orientation: landscape) {
    body {
        color: blue;
    }
}
// 我们可能会想要测得min-width和orientation,而 body 的文字只会在视口至少为 400 像素宽,且设备横放时变为蓝色。

或:如果你有一组查询,且要其中的任何一个都可以匹配的话,那么你可以使用逗号分开这些查询。

@media screen and (min-width: 400px), screen and (orientation: landscape) {
    body {
        color: blue;
    }
}
// 文本会在视口至少为 400 像素宽的时候或者设备处于横放状态的时候变为蓝色。如果其中的任何一项成立,那么查询就匹配上了。

非:你可以用not操作符让整个媒体查询失效,这就直接反转了整个媒体查询的含义。

@media not all and (orientation: landscape) {
    body {
        color: blue;
    }
}
// 文本只会在朝向为竖着的时候变成蓝色。

3、only

only: only 运算符仅在整个查询匹配时才用于应用样式,并且对于防止较早的浏览器应用所选样式很有用。 当不使用 only 时,旧版本的浏览器会将 screen and (max-width: 500px) 简单地解释为 screen,忽略查询的其余部分,并将其样式应用于所有屏幕。 如果使用 only 运算符,则还必须指定媒体类型。

五、媒体类型

描述
all 用于所有设备
aural 已废弃。用于语音和声音合成器
braille 已废弃。 应用于盲文触摸式反馈设备
embossed 已废弃。 用于打印的盲人印刷设备
handheld 已废弃。 用于掌上设备或更小的装置,如PDA和小型电话
print 用于打印机和打印预览
projection 已废弃。 用于投影设备
screen 用于电脑屏幕,平板电脑,智能手机等。
speech 应用于屏幕阅读器等发声设备
tty 已废弃。 用于固定的字符网格,如电报、终端设备和对字符有限制的便携设备
tv 已废弃。 用于电视和网络电视

六、媒体功能

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

标签:定义,输出设备,媒体,media,min,查询,width,屏幕
From: https://www.cnblogs.com/axingya/p/17897504.html

相关文章

  • mysql递归查询
     MySQLwithRecursive的作用是基于一组初始数据,进行递归查询,返回符合条件的数据集。这种递归查询方式可以应用在很多场景下,比如对于树形结构、层级结构的数据处理,以及对数据进行分类汇总等。MySQLwithRecursive的使用限制?MySQLwithRecursive的使用限制主要在于查询语句的......
  • 从根上理解elasticsearch(lucene)查询原理(2)-lucene常见查询类型原理分析
    大家好,我是蓝胖子,在上一节我提到要想彻底搞懂elasticsearch慢查询的原因,必须搞懂lucene的查询原理,所以在上一节我分析了lucene查询的整体流程,除此以外,还必须要搞懂各种查询类型内部是如何工作,比如比较复杂的查询是将一个大查询分解成了小查询,然后通过对小查询的结果进行合并得到......
  • django orm 软删除联表查询 需要显示软删除条件
    比如课程学习required_ok=UserLesson.objects.values('uuid').distinct().filter(user_id=self.request.user_id,).filter(lesson__course__course_bx_org__org_id__in=org_ids,).filter(Q(lesson__course__......
  • mybatis-plus使用连表查询分页
    mybatis-plus在进行单表查询时确实很方便,但是一旦我们需要连表查询时,就不得不引用其他插件来进行操作。但是复杂的查询必然会造成我们的代码量往上涨。当然mybatis-plus也不会脱离mybatis原本的特性,比如xml文件来操作数据库。本篇文章记录一下使用mybatis-plus来进行连表查询分......
  • 自连接及联表查询练习
    --自连接CREATETABLE`category`(`categoryid`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENTCOMMENT'主题',`pid`INT(10)NOTNULLCOMMENT'父id',`categoryName`VARCHAR(50)NOTNULLCOMMENT'主题名字',PRIMARYKEY(`categoryid`))ENGINE=INNODBAUTO_INC......
  • 联表查询joinON详解
    --联表查询join--查询参加了考试的同学(学号,姓名,成绩)ALTERTABLE`student2_copy`ADDgradeINT(100)UPDATE`student2_copy`SET`grade`=66WHEREid=1;UPDATE`student2_copy`SET`grade`=89WHEREid<8ANDid>2--添加成绩SELECT*FROM`student2`;SELECT*FROM`student......
  • 模糊查询操作符详解
    --模糊查询--查询姓狂的同学--like结合 %(代表零到任意个字符) _(代表一个字符)SELECT`id`,`name`FROM`student2`WHERE`name`LIKE'狂%'INSERT`student2`(`name`)VALUES('狂神');--添加--查询姓狂的同学,名字后面只有一个字的SELECT`id`,`name`FROM`student2`WHERE`na......
  • Flask ORM 学习笔记Part09:数据查询(上)
    前面的笔记,从Marshmallow开始就稍微有些跑题,今天记录一下如何使用Flask-SQLAlchemy进行数据查询。查询语法糖在前文中,有定义过一系列的model类,这里一Account类作为示例。fromappimportappfrommodelimport*fromschemaimport*frompprintimportpprint#fromsqlalchem......
  • mysql存json数据时的查询办法
    很多时候mysql的一列当中存的是json格式的数据,这时候如果要查询某个key对应的值的时候要如何查询呢,这里记录一种查询方法:json列的值:{“InventoryMainTypeCode”:1,“InventoryMainTypeName”:“GOOD”}现在要查询InventoryMainTypeCode为xxx或者InventoryMainTypeName为xxx的数......
  • Cesium 加载倾斜摄影模型记录(osgb切片,shp拔高切片、模型加载、鼠标移入选中、点选查
    一、shp模型拔高切片shp如果数据量过大,做分类处理,加载会异常慢,所以需要先对其进行分割之后再进行切片(用qgis即可)切片规则设置1、记得勾选构造底面 2、如果你的shp数据中有高度字段的话,可以选择高度字段,如果没有的话,设置固定高度的高度比你的模型稍微高一点,可以保证包着整个模型,......