媒体查询有什么作用(媒体查询要使用什么来定义)

http://www.itjxue.com  2023-01-28 02:56  来源:未知  点击次数: 

css媒体查询阈值 什么意思

“响应式设计(Responsive Design)”是一种让网站针对不同的浏览器和设备“响应”不同显示效果的策略,这样可以让网站在任何情况下显示的很棒!

媒体查询是做此事所需的最强大的工具。让我们使用百分比宽度来布局,然后在浏览器变窄到无法容纳侧边栏中的菜单时,把布局显示成一列:

“阈值”命令将灰度或彩色图像转换为高对比度的黑白图像。您可以指定某个色阶作为阈值。所有比阈值亮的像素转换为白色;而所有比阈值暗的像素转换为黑色。“阈值”命令对确定图像的最亮和最暗区域很有用。

css3 中的媒体查询是什么,怎么用?

你这段代码是在移动端的时候用的:

name="viewport"是视窗的意思,

width=device-width就是页面宽度自适应设备宽度,

initial-scale=1.0是默认页面缩放比例,1.0就是不缩放,

user-scalable=no是禁止用户手动缩放页面。

至于CSS3媒体查询,就是根据页面分辨率设置不同的css样式,达到自适应的目的。用法说简单也简单,说复杂也复杂,给你个简单的实例吧:

@media?screen?and?(max-width:?760px)?{

????body?{

????????background:#000;

????}

}

上面这段代码的意思是:当屏幕宽度小于760px时,页面背景色会变为黑色

响应式布局 怎么用css写响应式

做响应式网站离不开CSS响应式布局查询代码写法,而在此之前,我们需要了解什么是媒体查询以及如何才CSS中引入媒体查询。

什么是媒体查询?

媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有width、height和color(等)。使用媒体查询,可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。

如何在CSS中引入媒体查询?

媒体查询写在CSS样式代码的最后,CSS是层叠样式表,在同一特殊性下,靠后的的样式会重叠前面的样式。

如何用CSS做响应式布局呢?

1、在HTML头部添加以下代码,用来显示兼容移动设备的显示效果。

meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /

参数详解:

width=device-width :宽度等于当前设备的宽度

initial-scale=1 :初始的缩放比例(默认为1)

minimum-scale=1 :允许用户缩放到的最小比例(默认为1)

maximum-scale=1 :允许用户缩放到的最大比例(默认为1)

user-scalable=no :用户是否可以手动缩放(默认为no)

2、引入包含Media的CSS文件

一般情况HTMLCSS代码都是分开写的,Media也不例外。

link rel="stylesheet" type="text/css" href="m320.css" media="only screen and (max-width:320px)"/

link rel="stylesheet" type="text/css" href="m480.css" media="only screen and (min-width:321px) and (max-width:375px)"/

3、写Media中的代码

以某个网页的响应式布局为例

结构:@media设备类型and (设备特性){样式代码}

/*媒体查询*/

/*当页面大于1200px时,大屏幕,主要是PC端*/

@media (min-width: 1200px) {

}

/*在992 和1199 像素之间的屏幕里,中等屏幕,分辨率低的PC*/

@media (min-width: 992px) and (max-width: 1199px) {

#adver .center {

width: 50%;

margin: -10px 0 0 -25%;

}

main .center h2 {

font-size: 40px;

}

}

/*768和991像素之间的屏幕里,小屏幕,主要是PAD*/

@media (min-width: 768px) and (max-width: 991px) {

#adver .center {

width: 60%;

margin: -10px 0 0 -30%;

}

#adver .search, #adver .button {

font-size: 20px;

}

main .center h2 {

font-size: 35px;

}

}

/*在480和767像素之间的屏幕里,超小屏幕,主要是手机*/

@media (min-width: 480px) and (max-width: 767px) {

header, header .center, header .link {

height: 45px;

}

header .logo, .sm-hidden,.sidebar,.md-hidden {

display: none;

}

header .link {

width: 100%;

line-height: 45px;

}

#adver {

padding: 45px 0 0 0;

}

#adver .center {

width: 70%;

height: 53px;

margin: -10px 0 0 -35%;

}

#adver .search, #adver .button {

height: 45px;

font-size: 18px;

}

.sm-visible {

display: block;

}

main .center h2 {

font-size: 30px;

}

main .center p {

font-size: 15px;

}

main figure {

width: 49.2%;

}

}

/*在小于480像素的屏幕,微小屏幕,更低分辨率的手机*/

@media (max-width: 479px) {

header, header .center, header .link {

height: 45px;

}

header .logo, .xs-hidden, .sm-hidden, .sidebar, .md-hidden {

display: none;

}

header .link {

width: 100%;

line-height: 45px;

}

header .link li {

width: 25%;

}

#adver {

padding: 45px 0 0 0;

}

#adver .center {

width: 80%;

height: 48px;

margin: -10px 0 0 -40%;

}

#adver .search, #adver .button {

height: 40px;

font-size: 16px;

}

.sm-visible {

display: block;

}

footer .bottom, footer .version {

font-size: 13px;

}

main .center h2 {

font-size: 26px;

}

main .center p {

font-size: 14px;

}

main figure {

width: 99%;

}

}

响应式布局的原理就是在不同的窗口大小下显示不同的结构和样式。只要掌握好CSS的样式,响应式布局就没问题。

html5中媒体查询可以获取的值包括哪些?

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

HTML5的媒体查询用多了好么?

关键的地方用用,能不用就不用,用多了代码冗余,非常不好维护,如果大面积用,相当于一个模块就有多了几倍的代码,如果页面数据量大,很影响性能的。

如果产品更注重性能和速度,还是需要放弃一些更完美的视觉体验的。

什么叫媒体查询?很多企业官网上都有这么一栏的,是什么意思?

移动设备的快速普及完全颠覆了Web设计领域。用户不再仅在传统桌面系统上查看Web内容,他们越来越多地使用具有各种尺寸的智能电话、平板电脑和其他设备。Web设计人员的挑战是确保他们的网站不仅在大屏幕上看起来不错,在小型的电话以及介于它们之间的各种设备上看起来也不错。媒体查询是向不同设备提供不同样式的一种不错方式,它为每种类型的用户提供了最佳的体验。作为CSS3规范的一部分,媒体查询扩展了media属性(控制您的样式应用方式)的角色。例如,多年来人们常常使用一种独立的样式表,通过指定media="print"来打印网页。媒体查询将这一理念提升到了更高层次,允许设计人员基于各种不同的设备属性(比如屏幕宽度、方向等)来确定目标样式。图1-3演示了媒体查询的实际应用。它们显示了相同网页在桌面浏览器中、平板电脑上和iPod touch上查看的效果。

图1. 当在桌面上查看时,该网页拥有一种两栏布局。

在桌面版本中,该网页拥有一种固定宽度、两栏的布局。但当在平板电脑上查看相同页面时,边栏将移动到主要内容下方。

link href="css/phone.css" rel="stylesheet" type="text/css" media="only screen and (min-width: 0px) and (max-width: 649px)"

图2. Media Queries对话框

当在iPod touch中查看时,菜单会重新排列,图像会缩小。使用媒体查询为每种设备提供了不同的样式。

图3. 媒体查询重新设置页面的样式,以适应小得多的屏幕的限制。

本文概述媒体查询,包含将帮助您快速开始自己的多屏幕网站开发的示例。注意: 确保也查阅了Adobe TV上的以下视频:“Dreamweaver中的CSS3媒体查询”和“媒体查询如何使针对移动设备和不同屏幕的设计变得更加轻松”。

媒体查询示例

媒体查询的一个简单示例可能如下所示:

link href="css/phone.css" rel="stylesheet" type="text/css"

media="only screen and (max-width: 400px)"

在此示例中,将媒体查询添加到了link标记中。在后面将会看到,您也可以在样式表中使用媒体查询。media属性是该查询实际所在的地方。这个示例如下所示:

only screen and (max-width: 400px)

该示例的含义应该很明显:仅将此样式表应用到拥有屏幕的设备,并且仅在浏览器窗口的宽度不超过400像素时应用。您可以从文件名phone.css上看出,这个特定的查询是为电话样式设计的。现在您已看到了一个示例,让我们更详细分析一下媒体查询,以及您可用于控制在何处应用样式的设备功能。

媒体查询支持和功能

媒体查询支持Internet Explorer (IE) 9及更高版本、Firefox 3.5及更高版本、Safari 3及更高版本、Opera 7及更高版本,以及大部分现代智能电话和其他基于屏幕的设备。尽管IE的早期版本不支持媒体查询,但您可以(而且应该)从现在开始使用它们。处理早期浏览器的策略将在本文后面探讨。表1列出了可用于媒体查询中的设备功能。表1. 用于设置媒体查询中的条件的媒体功能功能值最大 / 最小值描述width长度是显示区域的宽度height长度是显示区域的高度device-width长度是设备的宽度device-height长度是设备的高度orientationportrait或landscape否设备的方向aspect-ratio高宽比(宽/高)是设备的宽高比,使用由1个斜杠分开的两个整数表示(比如16/9)device-aspect-ratio高宽比(宽/高)是设备宽度与设备高度的比率color整数是每种颜色成分的位数(如果不是颜色,该值为0)color-index整数是输出设备的颜色查找表中的项数monochrome整数是单色镇缓冲区中每像素的位数(如果不是单色,该值为0)resolution分辨率是输出设备的像素密度,表示为整数后跟dpi(每英寸点数)或dpcm(每厘米点数)scanprogressive或interlace否TV设备使用的扫描过程grid0 或 1否如果设置为1,设备基于网格,比如电传类型的终端或仅有一种固定字体的电话显示设备(所有其他设备均为0)表1中的前5项功能 ( width , height , device-width , device-height , 和 orientation ) 是最有用的。您可以为大部分功能添加 min- 和 max- 作为前缀,以表示最小和最大值,比如 min-width 和max-width 。表 1 中的“最大值/最小值”列表是哪些功能可通过此方式修改。

width、device-width和viewport

媒体查询的一个最容易混淆的方面或许就是width和height与添加了前缀device-的类似值之间的区别。对于桌面和平板计算机,它们之间的区别很容易理解:width 和 height指浏览器视区的尺寸,而device-width和device-height指显示器的尺寸。不是每个人都会全屏运行他或她的浏览器,所以width 和height是您需要使用的度量方法。移动浏览器将填满可用的屏幕,所以您可能期望width和device-width是相同的。不幸的是,并不总是这样。大多数智能电话(包括Android、iPhone和Windows Phone 7)将width设置为大约1,000像素宽的标称视区(在iPhone和iPod touch中,它为980像素;Windows Phone 7使用1024像素)。图4展示了iPod touch通常如何显示前面插图中的示例页面。

图4. 默认情况下,现代移动设备会缩放网页来适合所估计的视区。

即使附加到页面上的样式表使用媒体查询,依据min-width 和 max-width 的值来提供不同样式,iPod touch会忽略这些样式并显示桌面版本,因为它的视区被视为980像素宽。更让人混淆的是,iPhone、iPod touch和iPad在计算宽度时不会考虑方向,而其他设备会。幸运的是,这种混淆情形有一个简单的解决方案。苹果公司设计了一个新的meta标记,它已被其他移动设备制造商广泛采用,已合并到可能会被万维网联盟(W3C)批准的规范中。要为支持媒体查询的所有设备提供公平的机会,只需向每个网页的head添加以下这行代码:

meta name="viewport" content="width=device-width, initial-scale=1"

这告诉移动设备,将视区视为具有设备的物理宽度相同的宽度。而且,它还告诉iPhone、iPod touch和iPad在计算宽度时考虑方向。这样,您可以在媒体查询中安全地使用width,因为您知道它的用途与您所想的相同。注意:许多移动设备(最显著的就是iPhone 4和iPad 2)拥有高分辨率的显示屏,具有比桌面或平板显示器高得多的像素密度。这不会影响您在CSS中计算像素大小的方式。CSS规范要求,如果输出设备的像素密度与典型计算机显示器的像素密度差别巨大,浏览器应该重新调节像素值。一些开发人员现在将像素度量方法称为CSS像素。

如何编写媒体查询

要将媒体查询添加到media属性中,您可以使用表1中的媒体功能设置一个或多个条件。与CSS属性一样,在一个冒号后指定媒体功能的值。每个条件包含在圆括号中,使用关键字and添加到媒体声明中。例如:

media="screen and (min-width: 401px) and (max-width: 600px)"

媒体查询是布尔值:它们要么为true,要么为false。如果整条语句为true,那么将应用样式表。如果为false,将忽略样式表。所以当使用上述查询时,所有部分必须为true,才会应用样式表。换句话说,它将仅适用于401到600像素宽的屏幕。一些媒体功能(比如color , monochrome , 和 grid)可用作条件,而无需指定一个值。例如,以下语句适用于所有彩色显示器:

media="screen and (color)"

指定备用功能没有or关键词可用于指定备用的媒体功能。相反,可以将备用功能以逗号分割列表的形式列出,比如:

media="screen and (min-width: 769px), print and (min-width: 6in)"

这会将样式应用到宽度超过769像素的屏幕或使用至少6英寸宽的纸张的打印设备。指定否定条件要指定否定条件,可以在媒体声明中添加关键字not,比如:

media="not screen and (monochrome)"

不能在单个条件前使用not。该关键字必须位于声明的开头,而且它会否定整个声明。所以,上面的示例会应用于除单色屏幕外的所有设备。向早期浏览器隐藏媒体查询媒体查询规范还提供了关键字only,它用于向早期浏览器隐藏媒体查询。类似于not,该关键字必须位于声明的开头。例如:

media="only screen and (min-width: 401px) and (max-width: 600px)"

无法识别媒体查询的浏览器要求获得逗号分割的媒体类型列表,规范要求,它们应该在第一个不是连字符的非数字字母字符之前截断每个值。所以,早期浏览器应该将上面的示例解释为:

media="only"

因为没有only这样的媒体类型,所以样式表被忽略。类似地,早期浏览器应该将以下语句解释为media="screen":

media="screen and (min-width: 401px) and (max-width: 600px)"

换句话说,它应该将样式规则应用于所有屏幕设备,即使它不知道媒体查询的含义。不幸的是,IE 6–8未能正确实现该规范。没有将样式应用到所有屏幕的设备,它将整个样式表一起忽略。尽管存在此行为,如果希望向其他不太常用的浏览器隐藏样式,仍然建议在媒体查询前面添加上only。处理早期的Internet Explorer版本IE 6到IE 8中缺少对媒体查询的支持,这不是问题。只需创建一组用于所有未使用媒体查询的浏览器的基本样式,而使用媒体查询为使用更高级浏览器的访问者提供一种增强的体验。也可以使用Internet Explorer条件注释来向早期版本的IE提供一组特殊的规则,比如:

!--[if lt IE 9 !IEMobile]

link href="iestyles.css" rel="stylesheet" type="text/css"

![endif]--

结合使用媒体查询与@import和@media

除了在附加外部样式表时在link标记中使用媒体查询,您也可以将它们与@import 和 @media结合使用。基本语法是相同的。例如,以下代码导入一个样式表,并将该样式应用到拥有不宽于400像素的屏幕的设备:

@import url("phone.css") only screen and (max-width:400px);

媒体查询也可像如下这样用于样式表中:

@media only screen and (max-width:400px) {

#navbar {

float: none;

width: 400px;

}

}

测试媒体查询

测试代码很重要。针对平板电脑和智能电话进行测试使测试变得更复杂,因为理想情况下您将有大量设备需要处理。幸运的是,无需拥有实际的设备,即可测量大多数查询。拥有真实的设备总是会更好,但出于本文的用途,使用简单的浏览器将有助于您理解查询的工作原理。本文所附带的ZIP文件包含一个范例文件(mediaqueries.html),该文件附加了3种不同的设计。使用范例文件执行以下调节测试。将浏览器窗口完全打开,您可以看到基本的站点设计(参见图1)。将浏览器窗口缩小,在进入各种设备的尺寸范围时可以注意到变化。进入代码中指定的尺寸范围时,样式会更改为平板电脑(图2)或电话大小(图3)。例如,对于平板电脑,页眉图像会变得更小,下面的独立区域会呈现不同的形式。对于电话样式,主要的中央图像会消失,替换为由更大的垂直按钮组成的菜单。浏览器在每次窗口更改时都会检查媒体查询,比如当您调整它时,或者当您将电话从竖向旋转到横向时。

Dreamweaver CS5.5中的媒体查询

Dreamweaver CS5.5在Adobe在针对Dreamweaver CS5的11.0.3更新中引入的媒体查询支持之上进行了改进。新的Media Queries对话框可帮助您为一个页面或整个网站创建和维护媒体查询(参见图5)。您可以从以下任何位置访问Media Queries对话框:Modify Media QueriesMultiscreen Preview面板 Media Queries按钮Multiscreen下拉菜单 Media QueriesCSS Styles面板右上角的Options菜单CSS Styles面板中的上下文菜单

图5. Dreamweaver CS5.5中的Media Queries对话框

使用这个新对话框,您可以:创建多个媒体查询。将媒体查询附加到当前页,这会添加一个或多个CSS文件的链接。创建一个site-wide媒体查询文件,这会添加一个集中化的CSS文件的链接,该文件导入其他特定于设备的CSS文件。当使用site-wide选项时,您可以链接到现有的CSS文件,或者从对话框自身中创建新文件。Media Queries对话框还将在查询上方使用您作为描述而添加的文本创建一个注释。此外,您可以选择将视区meta标记添加到文档中,这将强制设备报告它的实际尺寸,而不是标称的视区。选择此选项有助于预防由于错误报告的尺寸而引起的意外缩放。注意:对于现在,Media Queries对话框仅读取和写入拥有至少一个min-width和max-width值的查询。此外,该对话框还会编辑这些唯一的min-和max-值。您可以手动编辑其他查询参数,但min-width和max-width是最常用于确定目标设备的值。预设值和站点定义Media Queries对话框还在媒体查询列表区域底部提供了一个预设选项。单击这个Default Presets按钮,Dreamweaver会自动创建:3个分别针对平板电脑、电话和桌面的媒体查询预先填充了常用起始值的codemin-width和max-width。Default Presets按钮提供了一种开始使用媒体查询的快速途径。另一种管理site-wide媒体查询文件的方便方式是使用Site Setup对话框。现在有一个名为Site-wide Media Query File的字段(位于Advanced Settings Local Info中),它指定了您的site-wide媒体查询文件。只要您打开Media Queries对话框,这里列出的文件就会显示为site-wide选项。对于新的(或者甚至现有的)文件,您所需的只是选择该选项来将site-wide媒体查询文件应用到当前页面。注意:更改此文件不会自动更新所有站点文件。Media Queries对话框提供了一种简化媒体查询的创建和管理的不错方式。媒体查询已是使用不同样式确定目标设备的首选方式。从上面可以看到,它们不仅适用于智能电话,还可用于控制任何屏幕的观感。

(责任编辑:IT教学网)

更多

推荐服务器空间文章