今天来通过Media Queries样式模块,可以实现根据移动设备的屏幕大小,定制网站页面的不同布局效果。它的优点是开发者只需要实现一套页面,就能够在所有平台的浏览器下访问网站的不同效果。
用 viewport 设置适应移动设备屏幕大小
1.什么是 viewport
Apple 为了解决移动版 Safari 的屏幕分辨率大小问题,专门定义了 viewport 虚拟窗口。它的主要作用是允许开发者创建一个虚拟的窗口(viewport),并自定义其窗口的大小或缩放功能。
如果开发者没有定义这个虚拟窗口,移动版 Safari 的虚拟窗口默认大小为 980 像素。现在,除了Safari浏览器外,其他浏览器也支持 viewport 虚拟窗口。但是,不同的浏览器对viewport窗口的默认大小支持都不一致。默认值分别如下:
Android Browser 浏览器的默认值是 800 像素;
IE 浏览器的默认值是 974 像素;
Opera 浏览器的默认值是 850 像素。
2.如何使用 viewport
viewport虚拟窗口是在meta元素中定义的,其主要作用是设置Web页面适应移动设备的屏幕大小。
如以下代码:
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0" />
该代码的主要作用是自定义虚拟窗口,并指定虚拟窗口width宽度为device-width,初始缩放比例大小为1倍,同时不允许用户使用手动缩放功能。
在上面的代码中,我们使用了一个特别的名字:device-width。自iPhone面世以来,其屏幕的分辨率一致维持在 320´480。由于 Apple 在加入 viewport 时,基本上使用 width=device-width 的表达方式来表示 iPhone 屏幕的实际分辨率大小的宽度,比如 width=320。因此,其他浏览器厂商在实现其 viewport 的时候,也兼容了 device-width 这样的特性。
代码中的 content 属性内共定义三种参数。实际上 content 属性允许设置6种不同的参数,分别如下:
width 指定虚拟窗口的屏幕宽度大小。
height 指定虚拟窗口的屏幕高度大小。
initial-scale 指定初始缩放比例。
maximum-scale 指定允许用户缩放的最大比例。
minimum-scale 指定允许用户缩放的最小比例。
user-scalable 指定是否允许手动缩放。
在上面的代码中,我们使用了一个特别的名字:device-width。自iPhone面世以来,其屏幕的分辨率一致维持在 320´480。由于 Apple 在加入 viewport 时,基本上使用 width=device-width 的表达方式来表示 iPhone 屏幕的实际分辨率大小的宽度,比如 width=320。因此,其他浏览器厂商在实现其 viewport 的时候,也兼容了 device-width 这样的特性。
代码中的 content 属性内共定义三种参数。实际上 content 属性允许设置6种不同的参数,分别如下:
width 指定虚拟窗口的屏幕宽度大小。
height 指定虚拟窗口的屏幕高度大小。
initial-scale 指定初始缩放比例。
maximum-scale 指定允许用户缩放的最大比例。
minimum-scale 指定允许用户缩放的最小比例。
user-scalable 指定是否允许手动缩放。
Media Queries如何工作
1、定义当前屏幕可视区域的宽度最大值是600像素
<link href="small.css" rel="stylesheet" media="screen and(max-width:600px)"/>
那么 small.css 怎样写的呢
@media screen and (max-width:600px) { .demo { background-color:red; } }
2、定义当前屏幕可视区域的宽度长度在600到900像素之间
<link href="small.css" rel="stylesheet" media="screen and(min-width:600px) and(max-width:900px)"/> @media screen and (min-width:600px) and (max-width:900px) { .demo { background-color: red; } }
3、当移动屏幕处于纵向(portrait)模式下时,应用portrait样式文件,当移动设备处于横向(landscape)模式下,应用landscape样式文件
<link href="protrait.css" rel="stylesheet" media="all and(orientation:portrait)"/> <link href="landscape.css" rel="stylesheet" media="all and(orientation:landscape)"/>
Media Queries语法总结
语法格式如下图所示:1、使用 Media Queries 样式模块时都必须以“@media”方式开头
2、media_query 表示查询关键定,比如说 not only and 等等
- not 表示对后面的样式表达式执行取反操作
- only 让不支持 Media Queries 的设备但能读取 Media Type 类型的浏览器忽略这个样式,对于支持Media Queries 的移动设备来说,如果存在 only 关键字,移动设备的浏览器会忽略only关键字并直接根据页面的表达式应用样式 文件
3、media_type 指定设备类型(也称媒体类型)
4、media_feature 定义 css 中的设备特征
media_type设备类型一览表
media_feature设备特征一览表
大部分设备特征都允许接受min/max的前缀 原文链接:http://woqilin.blogspot.com/2016/05/media-queries.html
相关推荐
Media Queries移动设备样式
移动时代,是任何 Web 设计与开发者都不能忽视的一个时代,总有一天,你设计的东西将被显示在两种屏幕上,桌面大屏幕和移动小屏幕,如何让同一个网站同时适应完全不同的两种尺寸的屏幕,这是一个很久以来都没有完美...
css3在手持设备高速发展的带动下,在网页设计者和开发者孜孜不倦的追求下不断发酵,而它对于网站的最大好处莫过于对智能手机、平板电脑等的支持,使得用户通过iphone、ipad等设备都可以访问。想为网站创建一个适用于...
排序CSS媒体查询 :United_States: 英文| :Russia: 或 (使用css-mqpacker)或(也许还有其他东西)的自定义sort方法(移动优先/桌面优先)替代mqpacker 不推荐使用 。 替代插件之一可能是在CSS-in-JS中可用 :rocket:...
grunt-combine-media-queries, [DEPRECATED] 在这里管理新版本 组合媒体查询将匹配的媒体查询合并到一个媒体查询定义中。 使用嵌套媒体查询对preprocessors生成的CSS有用。这是为我们的移动第一站点使用 LESS CSS...
移动时代是任何网页设计师和开发者不可忽略的一个时代,现在我设计的页面有时会在电脑大屏幕上或者移动小屏幕上显示。如何让同一个网站同时适应完全不同尺寸的屏幕,CSS3完美地解决了这些问题。在CSS2.1版本时候,...
插件,用于使用移动设备优先或桌面优先方法对CSS媒体查询进行合并和排序。 将相同的媒体查询合并为一个-这是该插件的意外副作用 :dna: 例子 移动优先排序 /* before */ @media screen and ( max-width : 640 px ) ...
移动媒体查询 不同手机和桌子CSS媒体查询 凉亭 $ bower install mobile-media-queries --save 待办事项: 添加各种Andriod智能手机的媒体查询
您可以将窗口拖动到较小的位置,也可以使用Firefox DevTools中的响应式设计视图来查看,就像在电话上一样。 您的任务是创建此布局的桌面版本,当屏幕宽度足以容纳它时将显示该版本。 您可以在下面的屏幕截图中看到...
包含了 Normalize.css v1 版本 — 一个先进的、支持HTML5的CSS reset — 和基础样式、辅助功能、media queries、打印样式。 jQuery 与 Modernizr 自带了两个优秀的Javascript工具库的最新版本: jQuery (默认链接...
CSS时间轴 这是发生在2019年和2020年的事件的基本时间表。 它使用CSS3。 所有这些只是我的经验。 它还使用@media查询来在移动设备上获得更好的视图。
用于功能检测的定制Modernizr构建和用于CSS Media Queries的polyfill。 适用于Android,iOS,诺基亚,Firefox的主页图标适用于Android,iOS,Mobile IE,诺基亚和Blackberry的跨浏览器视口优化。 对Firefox for ...
响应式CSS(在移动设备上看起来不错),同时需要编写最少数量的@ media-queries 不只是使用别人写的主题。 因为我需要成为特别的雪花。 这就是为什么我选择和。 Hugo的文档和学习资源可以使用一些工作,但是它有一...
Chat_Bot 我们很高兴为您介绍我们的聊天机器人 ... 响应式网页设计 移动优先方法 谁 我们的项目团队是: *前端开发人员-Simon Aerts(@SimonAertsBecode)。 *后端开发人员-AlexandreGarçao(@ alexg-rgb)。 *
•我做了完整的移动友好型Web设计。 •我学习了CSS动画。 •我学习了SASS。 •由于本课程中有许多示例,因此将具有出色的Web设计师经验。 •我学会了设计网站的前视图。 •我学会了设计网站的管理面板视图。 •我...
该项目包括三(3)个工作页面(包括主页,简介页面和票务页面),每个页面响应两(2)个不同的屏幕尺寸(移动和桌面) 作者 作者: 姓名:Taofeek OLALERE 贡献 欢迎贡献,问题和功能要求! 分叉项目...
当您需要为移动设备和台式机显示不同的内容时,它可能会非常强大。 但这不限于这种情况。 只需根据需要使用即可。 用法 带有类组件。 import React , { Component } from 'react' import withSizes from 'react-...
样式断点 简单而强大的工具,可用于创建媒体查询 要么文献资料例子 入门API例子移动优先从最小到最大桌面优先从最大到最小挂钩API样式化的组件感情入门安装npm install styled-breakpoints# oryarn add styled-...