什么是HTML5的媒体查询功能

HTML+CSS+JS登录注册页面(媒体查询自适应) HTML+CSS+JS响应式登录注册页面(媒体查询自适应) 阅读详情

媒体查询

从 CSS 版本 2 开始,就可以通过媒体类型在 CSS 中获得媒体支持。如果您曾经使用过打印样式表,那么您可能已经使用过媒体类型。清单 1 展示了一个示例。

清单 1. 使用媒体类型

1
2
< link  rel = "stylesheet"  type = "text/css"  href = "site.css"  media = "screen"  />
< link  rel = "stylesheet"  type = "text/css"  href = "print.css"  media = "print"  />

在清单 1 中,media 属性定义了应该用于指定每种媒体类型的样式表:

screen 适用于计算机彩色屏幕。

print 适用于打印预览模式下查看的内容或者打印机打印的内容。

作为 CSS v3 规范的一部分,可以扩展媒体类型函数,并允许在样式表中使用更精确的显示规则。媒体查询 是评估 True 或 False 的一种表达。如果为 True,则继续使用样式表。如果为 False,则不能使用样式表。这种简单逻辑通过表达式变得更加强大,使您能够更灵活地对特定的设计场景使用自定义的显示规则。

媒体查询包含一个媒体类型,后跟一个或多个检查特定条件(如最小的屏幕宽度)的表达式。样式表中的媒体查询看起来如清单 2 中的示例所示。

清单 2. 媒体查询规则

@media all and (min-width: 800px) { ... }

根据清单 2 中的标记,所有最小水平屏幕宽度为 800 像素的屏幕(屏幕和打印等)都应使用如下 CSS 规则。该规则在示例中省略号所在的地方。对于该媒体查询:

@media all 是媒体类型,也就是说,将此 CSS 应用于所有媒体类型。

(min-width:800px) 是包含媒体查询的表达式,如果浏览器的最小宽度为 800 像素,则会告诉浏览器只运用下列 CSS。

请注意,在清单 2 中,可以省略关键词 all 和 and。在将某个媒体查询应用于所有媒体类型时,会省略 all。后面的 and 也是可选的。使用简写语法重新编写媒体查询,如清单 3 所示。

清单 3. 简写语法

@media (min-width:800px) { ... }

媒体查询也可以包含复杂表达式。例如,如果您想要创建一个仅在最小宽度为 800 像素且最大宽度为 1200 像素时应用的样式,则需要按照清单 4 中的规则来做。

清单 4. 复杂表达式

@media (min-width:800px) and (max-width:1200px) { ... }

在您的表达式中,您可以根据自己的喜好使用任意数量的 and 条件。如果您想要增加其他条件来检查特定的屏幕方向,只需添加另一个 and 关键词,后跟 orientation 媒体查询,如清单 5 所示。

清单 5. and 条件

@media (min-width:800px) and (max-width:1200px) and (orientation:portrait) { ... }

清单 5 中的媒体查询仅在宽度为 800 到 1200 像素且方向是纵向时才能激活。(通常,方向仅对能够轻易转换纵横模式的智能手机和平板电脑上是有意义的。)如果其中一个条件为 False,则无法应用媒体查询规则。

and 关键词的反义词是 or 关键词。和 and 一样,这些条件组合在一起会构成复杂表达式。如果其中有一个条件为 True,那么整个表达式或分离的两个条件都会为 True,如清单 6 所示。

清单 6. or 关键词

@media (min-width:800px) or (orientation:portrait) { ... }

如果宽度至少是 800 像素或方向是纵向的,则会应用该规则。

另一个保存在词库中的媒体查询关键词是 not。位于媒体查询的开始处,not 会忽略结果。换句话说,如果该查询本来在没有 not 关键词的情况下为 true,那么现在它将为 false。清单 7 展示一个示例。

清单 7. 使用 not

@media (not min-width:800px) { ... }

仅从英文意思上理解,清单 7 中代码的表示:当最小宽度不是 800 像素时,会应用下列 CSS 规则。这些示例只是将像素作为媒体查询中的测量单位,但是测量单位并不仅限于像素。您可以使用任何有效的 CSS 测量单位,比如厘米 (cm)、英寸 (in)、毫米 (mm) 等。


有用的媒体特性


媒体很多特性,比如宽度、颜色和网格,您可以在媒体查询中使用它们。对每个可能的媒体特性进行描述不在本文讨论范围内。关于媒体查询的文档 The World Wide Web Consortium's (W3C) 提供了这方面的一个完整清单。(请参阅 参考资料)。

要设计响应式网站,只需要了解一些媒体特性:方向、宽度和高度。作为一个简单媒体特性,方向的值可以是 portrait 或 landscape。这些值适用于持有手机或平板电脑的用户,使您可以根据两个形状因素来优化内容。当高度大于长度时,则认为屏幕是纵向模式,当宽度大于高度时,则认为屏幕是横向模式。清单 8 显示了一个使用 orientation 媒体模式查询的示例。

清单 8. orientation 媒体查询

@media (orientation:portrait) { ... }

高度和宽度行为十分相似,都支持以 min- 和 max- 为前缀。清单 9 展示了一个有效的媒体查询。

清单 9. 高度和宽度媒体查询

@media (min-width:800px) and (min-height:400px) { ... }

如果没有 min- 或 max- 前缀,您还可以使用 width 和 height 媒体特性,如清单 10 所示。

清单 10. 不带 min- 和 max- 前缀

@media (width:800px) and (height:400px) { ... }

当屏幕正好是 800 像素宽、400 像素高时,可以使用清单 10 中的媒体查询。www.zzarea.com  现实中,像这样的媒体查询可能过于具体而不太有用。检测精确维度是大多数网站访问者都不可能遇到的一个场景。通常情况下,响应式设计会使用范围来执行屏幕检测。

作为媒体查询大小范围的后续内容,下一节将讨论一些常见的媒体查询,在设计一个响应式网站时,您可能会发现它们非常有用。


常见媒体查询

因为 Apple 首次向市场推出了用户智能手机和平板电脑产品,所以下列大多数媒体查询都是基于这些型号的设备。

如果目标是横向模式智能手机,则使用: @media (min-width: 321px) { ... }

如果目标是纵向模式智能手机,则使用: @media (max-width: 320px) { ... }

如果目标是横向模式 Apple iPad,则使用: @media (orientation: landscape) { ... }

如果目标是纵向模式 iPad,则使用: @media (orientation: portrait) { ... }

您可能已经注意到了,iPad 上使用的是 orientation 媒体特性,而 width 用于 Apple iPhone 之上。主要是因为 iPhone 不支持 orientation 媒体特性。您必须使用 width 模拟这些方向断点。请参阅 参考资料,获取有关常见媒体特性的更多信息。

HTML5与CSS3创建响应式导航菜单完整教程 JavaScript作为前端开发中不可或缺的一环,不仅增强了页面的动态性和交互性,而且是实现响应式设计的关键技术之一。通过基础事件处理、动态内容交互以及动画与交互的结合,开发人员可以创造出丰富多样的用户体验。随着Web技术的不断进步,JavaScript的应用场景和能力范围还将不断拓展,为开发者提供更多的可能性。在现代网页设计中,导航菜单是不可或缺的组成部分。它不仅帮助用户在网站内进行快速导航,还能显著提升用户体验。 阅读详情

相关推荐

工商注册代理公司响应式HTML5网站模板设计

响应式设计和媒体查询是现代前端开发不可或缺的技能。通过了解和掌握CSS3的特性,我们可以创建灵活且适应各种屏幕尺寸和设备的响应式网页。这不仅提升了用户的体验,也增强了网站的可访问性和可维护性。在接下来的章节中,我们将继续深入探讨网站模板功能模块的设计,以及如何通过这些模块提升网站的SEO优化。

weixin_35835018的博客 898

HTML 5之媒体查询

媒体查询

程序员小白的博客 2504

旅行社响应式网站HTML5静态模板设计

HTML5引入了许多新的语义化标签,如<article><section><nav><header><footer>等,这些标签不仅为开发者提供了更丰富的页面结构选择,而且对搜索引擎优化(SEO)和网站的可访问性(Accessibility)也有显著帮助。以<article>标签为例,它用于表示文档、页面或者页面中的独立结构区域中的内容。通常用于博客文章、新闻报道、评论等,这些内容可以被独立地分发或重新使用。例如:<article><header>

weixin_36431814的博客 951

媒体查询 + rem 实现 h5 移动端适配

在 H5 移动端项目中,使用媒体查询(Media Queries)和 rem 单位进行适配是一种非常实用的方法。其核心原理在于利用媒体查询来检测设备的视口宽度或其他特性,并根据这些特性动态调整根元素的字体大小,进而影响到所有使用 rem 作为单位的元素。这种方式允许你在不同屏幕尺寸上调整布局和字体大小,从而提升用户体验。

a123456234的博客 813

Cengage UI 风格指南:实现自适应设计的HTML5与CSS3功能链接

响应式布局已经成为现代网页设计的必备要素,它能确保网站在各种设备和屏幕尺寸上都能提供良好的浏览体验。

weixin_42581003的博客 1146

H5 media 媒体查询

NULL 博文链接:https://onestopweb.iteye.com/blog/2316391

H5C3 05-媒体查询

媒体查询能让 CSS 可以更精确的作用于不同的设备或同一设备的不同条件,让所有用户都能得到很好的用户体验。原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列方式和大小,从而实现不同屏幕下,看到不同的页面布局和样式变化。通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充。上面表示的是:当屏幕大于或等于900px时,容器“.wrapper”的宽度为980px。不同的是rem的基准是相对于html元素的字体大小。

dcwal的博客 324

10行代码搞定QMT实盘交易:手把手教你用Python自动化买卖股票(附完整源代码)

本文提供了一份详尽的QMT实盘交易教程,手把手教你使用Python构建自动化交易系统。内容涵盖环境配置、账户连接、查询与下单等核心代码,并附有完整的源代码示例,帮助开发者快速掌握从零到实盘的完整流程,实现安全可靠的股票自动化买卖。

weixin_29214335的博客 437

h5c3-day05(媒体查询)

【代码】h5c3-day05(媒体查询)

ZXK19990928的博客 169

MarkDown简介(深度解析MarkDown用法)

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I...

酷酷的旭 7341

Canoe Panel基础功能介绍

CANoe Panel 是 Vector CANoe 软件中用于设计图形化操作界面的功能模块。用户可以在面板上添加合适的控件,实时的改变信号或者变量的值

m0_56208280的博客 1948

响应式开发(HTML5CSS3)实现媒体查询的功能案例

1.本文讲解的响应式开发技术(HTML5+CSS3+Bootstrap)的HTML5媒体查询等功能方法的代码,这也是很多教材的一个典型案例;2.本文将讲解涉及到HTML5表单等功能方法的知识点,其它方面会大致讲一下;3.本代码是使用visual Studio Code编写的,其他软件如DW,HBX等都是可以的;4.运行浏览器是谷歌,同时推荐使用谷歌浏览器;5.这个案例是我上学跟老师所讲做出来的,有些地方不是很完美,请见谅也请多赐教,若程序出现问题请指教,我在吸取经验、改正文档;

weixin_59042297的博客 1487

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7589

HTML5、CSS3功能和媒体查询

可以用长度值(例如px、cm等)或包含块的百分比(%)来指定max-width(最大宽度),也可以将其设置为none(默认值。它设置的是元素内边距、边框以及外边距内的区域的高度或宽度。outline-offset属性在元素的轮廓与边框之间添加空间。媒体查询由一种媒体类型组成,并可包含一个或多个表达式,这些表达式可以解析为true或false。height和width属性用于设置元素的高度和宽度。max-width属性用于设置元素的最大宽度。max-width属性用于设置元素的最小宽度。...

m0_61843988的博客 283

从逻辑门到RISC-V指令:ALU设计实战与Verilog实现

本文详细介绍了从逻辑门到RISC-V指令集的ALU设计实战与Verilog实现方法。通过构建1位ALU并扩展至64位,深入解析了RISC-V指令集的算术逻辑单元实现技巧,包括加法器设计、零标志检测和溢出检测等关键功能。文章还分享了Verilog代码优化、流水线设计和常见问题调试的实用经验,为开发者提供了一套完整的ALU设计解决方案。

weixin_29214335的博客 184

保姆级教程:用CST 2023一步步复现一个1-8GHz Vivaldi天线(含参数优化与结果分析)

本文提供了一份详细的CST 2023教程,指导读者如何从零开始设计并优化1-8GHz Vivaldi天线。内容涵盖工程设置、参数化建模、仿真加速技巧以及性能优化策略,特别适合需要实现宽带天线设计的工程师和研究人员。通过实战案例,帮助用户掌握Vivaldi天线的核心设计要点和CST高级功能应用。

weixin_30800987的博客 618

HTML5响应式设计核心技巧总结

本文全面总结了HTML5响应式设计的核心技巧,旨在帮助读者深入理解并应用这些技术以提升网页在不同设备和屏幕尺寸下的展示效果。文章首先介绍了HTML5作为网页设计基础的重要性,随后详细阐述了响应式设计的核心原则,包括响应式布局、媒体查询和CSS媒体功能等。接着,文章探讨了如何利用CSS3特性增强网页视觉效果,以及优化页面加载性能的策略。此外,结合前端框架和工具的使用也被强调为提升开发效率和页面性能的关键。最后,通过一个实际案例分析了HTML5响应式设计的应用,展示了其在提高用户体验和设计创新方面的潜力。总结指

qq_35974860的博客 128

音视频开发基础(1):模拟视频技术简介

模拟视频技术是指用模拟技术对动态影像进行捕捉、记来、处理、存储、传输、复现的技术.模拟视频技术的发明、发展与模拟电视系统的发展密不可分.下面将通过模拟电视系统来介绍模拟视频技术中的基本概念. 首先,人的视觉系统的特征为电视等視稿系铳的发明、发展提供了理论依据.光线通过角膜、腫孔、晶状体的折射光线.透过玻璃体到达视网展.视网膜上分布着光感受器,光感受器在光线的剌激下...

琅嬛福地 1492

html5/css3响应式布局

html5图片自适应http://www.gbtags.com html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能。移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局的媒体查询media query兼容问题 一个普通的自适应显示的三栏网页,当你用不同的终端来查看这个页面的时候,他会根据几种终端来显示不同的样式,在电脑上是三列

DONGJIU的专栏 935

AUTOSAE软件配置-达芬奇( DaVinci Configurator)从新建工程开始

方法1,直接使用案例工程,一般SIP包会有一个创建好的案例工程,在这样的路径YOUR_SIP_DIR/Applications/SipAddon/StartApplication下面直接打开这个*.dpa文件即可看到已经预先做好的工程:但是,这个也不是全的,也不一定完全正确,至少MCAL是没有配置好的(MCAL是IC厂商提供的,并不归属SIP包的一部分)。这样就需要你自己去配置你想要的模块,修改里面的错误。

m0_49148264的博客 2935

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

HTML5与CSS3总结

HTML5与css3

hu0708的博客 2642

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【HTML/CSS】HTML5和CSS3的新特性

目录1 HTML51.1 语义化标签1.2 画布canvas1.3 新增API1.3.1 拖拽1.3.2 地理定位1.4 音视频Audio/Video1.5 Web存储1.6 WebWorker1.7 WebSocket1.8 新增表单控件2 CSS32.1 新增属性2.2 @font-face2.3 2D/3D转换2.4 过渡2.5 动画2.6 媒体查询2.7 弹性布局2.8 用户界面属性 1 HTML5 1.1 语义化标签 举例:header、main、section、aside、footer、nav

XD的学习笔记 380

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HTML5新增标签以及功能

语义标签: 定义文章 定义文章侧边栏 定义一组媒体对象以及文字内容 定义figure的标题 布局页面时用的语义标签: 定义导航 头部 定义文档中的区段 区域 尾部 input其他的类型: 1. text 文本输入框 2. password 密码 3. button 按钮 4. checkbox 复选 5. radio 单选 6. submit 提交 7

ysx77的博客 497

前端面试宝典(三)html5 css3

三、HTML5 CSS3 117 1. CSS3有哪些新特性? 117 2. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 117 3. 本地存储(Local Storage )和cookies(储存在用户本地终端上的数据)之间的区别是什么? 118 4. 如何实现浏览器内多个标签页之间的通信? 118 5. 你如何对网站的文件和资源进行优化? 118 6. 什么是响应式设计? 119 7. 新的 HTML5 文档类型和

liuerchong的博客 535

HTML5.js与@media screen and(){}.js媒体查询技术

1、HTML5.js 使用了html5标签。IE9一下的浏览器将不支持这些标签元素,比如等等。包含 html5.js 文件将会是这些浏览器明白这些新元素。 CSS 将新HTML5元素初始化为块元素 下面的css代码将会初始化HTML5元素为块元素(article, aside, figure, head

zhangzhifei1991的专栏 2324

IE9以下兼容html标签

对于IE以下代码注释无效,会执行注释内的代码 <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 --> <!--[...

weixin_30480651的博客 223
上一篇: PM、PD、UE与UI:互联网公司产品部门的四大角色
下一篇: CSS中margin-top对父级元素产生作用的问题
dodott
博客等级 码龄22年 60粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值