`

适应不同手机分辨率的media query

阅读更多

转载请注明: 转载自WEB前端开发(www.css119.com)-关注常见的WEB前端开发问题、最新的WEB前端开发技术(webApp开发、移动网站开发)、最好的WEB前端开发工具和最全的WEB前端开发w3cschool手册

 

Media Queries这功能是非常强大的,他可以让你定制不同的分辨率和设备,并在不改变内容的情况下,让你制作的web页面在不同的分辨率和设备下都能显示正常,并且不会因此而丢失样式。

首先来看一个简单的实例:

  <link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />

上面的media语句表示的是:当页页宽度小于或等于600px,调用small.css样式表来渲染你的Web页面。首先来看media的语句中包含的内容:

1、screen:这个不用说大家都知道,指的是一种媒体类型;

2、and:被称为关键词,与其相似的还有not,only,稍后会介绍;

3、(max-width:600px):这个就是媒体特性,说得通俗一点就是媒体条件。

为了更能理解Media Query,们在次回到前面的实例上:

  <link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />

转换成css中的写法为:

  @media screen and (max-width: 600px) {
    选择器 {
      属性:属性值;
    }
  }

其实就是把small.css文件中的样式放在了@media srceen and (max-width;600px){…}的大括号之中。在语句上面的语句结构中,可以看出Media query和css的属性集合很相似,主要区别在:

1、Media query只接受单个的逻辑表达式作为其值,或者没有值;

2、css属性用于声明如何表现页页的信息;而Media Query是一个用于判断输出设备是否满足某种条件的表达式;

3、Media Query其中的大部分接受min/max前缀,用来表示其逻辑关系,表示应用于大于等于或者小于等于某个值的情况

4、CSS属性要求必须有属性值,Media Query可以没有值,因为其表达式返回的只有真或假两种

下面我们一起来看看Media Queries的具体使用方式

一、最大宽度Max Width

  <link rel="stylesheet" media="screen and (max-width:600px)" href="small.css" type="text/css" />

上面表示的是:当屏幕小于或等于600px时,将采用small.css样式来渲染Web页面。

二、最小宽度Min Width

   <link rel="stylesheet" media="screen and (min-width:900px)" href="big.css" type="text/css"  />

上面表示的是:当屏幕大于或等于900px时,将采用big.css样式来渲染Web页面。

三、多个Media Queries使用

   <link rel="stylesheet" media="screen and (min-width:600px) and (max-width:900px)" href="style.css" type="text/css" />

Media Query可以结合多个媒体查询,换句话说,一个Media Query可以包含0到多个表达式,表达式又可以包含0到多个关键字,以及一种Media Type。正如上面的其表示的是当屏幕在600px-900px之间时采用style.css样式来渲染web页面。

四、设备屏幕的输出宽度Device Width

   <link rel="stylesheet" media="screen and (max-device-width: 480px)" href="iphone.css" type="text/css" />

上面的代码指的是iphone.css样式适用于最大设备宽度为480px,比如说iPhone上的显示,这里的max-device-width所指的是设备的实际分辨率,也就是指可视面积分辨率

我们可以使用media query为android手机在不同分辨率提供特定样式,这样就可以解决屏幕分辨率的不同给android手机的页面重构问题。

五、not关键字

  <link rel="stylesheet" media="not print and (max-width: 1200px)" href="print.css" type="text/css" />

not关键字是用来排除某种制定的媒体类型,换句话来说就是用于排除符合表达式的设备。

六、only关键字

  <link rel="stylesheet" media="only screen and (max-device-width:240px)" href="android240.css" type="text/css" />

only用来定某种特定的媒体类型,可以用来排除不支持媒体查询的浏览器。其实only很多时候是用来对那些不支持Media Query但却支持Media Type的设备隐藏样式表的。其主要有:支持媒体特性(Media Queries)的设备,正常调用样式,此时就当only不存在;对于不支持媒体特性(Media Queries)但又支持媒体类型(Media Type)的设备,这样就会不读了样式,因为其先读only而不是screen;另外不支持Media Qqueries的浏览器,不论是否支持only,样式都不会被采用。

七、其他

在Media Query中如果没有明确指定Media Type,那么其默认为all,如:

  <link rel="stylesheet" media="(min-width: 701px) and (max-width: 900px)" href="medium.css" type="text/css" />

另外还有使用逗号(,)被用来表示并列或者表示或,如下

  <link rel="stylesheet" type="text/css" href="style.css" media="handheld and (max-width:480px), screen and (min-width:960px)" />

上面代码中style.css样式被用在宽度小于或等于480px的手持设备上,或者被用于屏幕宽度大于或等于960px的设备上。

关于Media Query的使用这一节就介绍到此,最后总体规纳一下其功能,个人认为就是一句话:Media Queries能在不同的条件下使用不同的样式,使用页面达到不同的渲染效果。下一节将会针对Media Queries介绍几个实例,如果感兴趣的朋友记得观注本站的更新。

分享到:
评论

相关推荐

    CSS3 Media Query CSS3媒介查询

    这一功能使得网页能更好地适应不同尺寸的屏幕,无论是桌面电脑、平板电脑还是智能手机,都能提供优秀的用户体验。 Media Queries主要由两部分构成:媒体类型(media type)和媒体特性(media feature)。媒体类型...

    Uniapp match-media 检测节点 适配大屏小屏 不同屏幕视图组件

    `match-media` API 是 Web 开发中的一个关键特性,它允许我们根据设备的特定条件(如宽度、高度、分辨率等)来应用不同的样式或执行特定的 JavaScript 逻辑。在 `uni-app` 中,这个概念被封装成一个组件,使开发者...

    CSS3的media query学习攻略

    CSS3的media query是用于响应式网页设计中的重要技术,它允许开发者为不同媒体类型定义特定的样式规则,以适配不同设备的屏幕尺寸、分辨率、方向等因素。以下是对CSS3 media query学习攻略的详细知识点梳理。 首先...

    用css3 media queries创建手机版网站

    CSS3 Media Queries是CSS3的一个特性,它允许开发者根据不同的条件(如屏幕宽度、分辨率等)来应用特定的CSS样式。这一特性极大地提高了网站的灵活性和响应能力,使网站能够根据不同设备的特点自适应显示内容。 ###...

    什么是响应式网页设计?.doc

    2. 图片处理:使用CSS media query来控制图片的尺寸和样式,以适应不同设备的屏幕尺寸和分辨率。 3. CSS media query:使用CSS media query来检测设备的屏幕尺寸、屏幕定向和其他设备环境信息,并根据这些信息来调整...

    animeta-Mediaquery

    在IT行业中,特别是Web开发领域,"animeta-Mediaquery" 指的是一种利用CSS Media Queries技术来实现动漫媒体查询的应用。这个标题暗示我们将会探讨如何为不同的设备和屏幕尺寸设计适应性的动漫效果,特别是在HTML...

    响应式布局

    例如,下面的代码片段展示了如何使用Media Query在不同屏幕尺寸下应用不同的CSS样式: ```css @media only screen and (max-width: 480px) { /* 当屏幕宽度小于等于480px时的样式 */ } @media (min-width: 1024px...

    mediaQuery

    6. **实例分析**:在"mediaQuery-master"项目中,可能会包含不同分辨率或设备的CSS样式文件,比如`style.css`和`mobile.css`。通过媒体查询,可以根据设备特征动态加载适当的样式表。 7. **学习资源**:想要深入...

    移动端开发最佳实践

    关于MediaQuery的书写顺序,推荐先编写高分辨率样式,再逐渐减少功能以适应低分辨率设备。这种策略基于两点考虑:一是设计师通常基于宽屏进行原型设计,可能不会提供适配设计稿;二是高分辨率页面包含更多视觉元素,...

    让IE支持CSS3 Media Query实现响应式Web设计

    响应式设计是目前Web开发中非常重要的一个方面,它让网站能够适应不同分辨率和设备的屏幕,从而提供更好的用户体验。 首先,我们需要了解什么是响应式设计。响应式Web设计是一种网页设计技术,使得网站在不同设备上...

    simple-media-query

    在CSS3中,媒体查询(Media Queries)允许我们根据设备的物理特性,如屏幕尺寸、分辨率或者颜色深度,来应用不同的CSS样式。这样,我们就可以创建响应式设计,使网站在不同设备上都能呈现出良好的用户体验。 在HTML...

    core-media-query:数据绑定到 CSS 媒体查询

    **核心媒体查询(Core Media Query)**是一种在Web开发中用于动态响应设计的技术,它允许开发者根据设备的特定特征,如屏幕尺寸、分辨率或方向,来应用不同的CSS样式。在 Polymer 0.5 及更早版本中,`core-media-...

    获取手机屏幕尺寸的代码段.zip

    在移动开发领域,获取手机屏幕尺寸是至关重要的,这有...在实际开发中,考虑到不同设备的分辨率和像素密度,我们还应该学会适配DPI(每英寸点数)和dp(密度无关像素)单位,确保在不同屏幕尺寸下应用的视觉效果一致。

    响应式开发剖析.pdf

    Media Query可以帮助开发者根据不同的设备特点,实现不同的样式和布局。 在响应式开发中,使用em或rem做尺寸单位可以实现文字大小的响应和弹性布局。这是因为em和rem是相对单位,可以根据屏幕尺寸和分辨率进行自动...

    D2-淘宝移动端Web开发实践

    MediaQuery是一种CSS技术,允许开发者根据不同设备的特性(如屏幕尺寸、分辨率等)来定义不同的样式规则。通过合理利用MediaQuery,可以实现页面布局的自适应调整,从而提高用户体验。 ##### 文字排版与流体布局 ...

    响应式布局(PC与手机访问的兼容性)详解

    Media Query是CSS3中的一项重要技术,它允许开发者根据不同设备的特征来定义不同的样式规则。例如,可以指定当屏幕宽度小于一定值时,应用特定的CSS样式。 - **媒介特性**:包括设备宽度(`device-width`)、高度(`...

    响应式web设计

    无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。这样,我们就可以不必为不断到来的新设备做...

Global site tag (gtag.js) - Google Analytics