• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > 利用css @viewport 做设备适配

利用css @viewport 做设备适配

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css,viewport等相关知识,佚名 希望在学习及工作中可以帮助到您

在需要调整设备浏览器的viewport时,我们通常在HTML中使用来解决。但是令人意想不到的是,viewport meta标签并不具有“规范性”,即它不是W3C的正式标准,也非Web标准。

Apple公司率先在其iPhone中的Safari浏览器中实现了viewport meta标签,其他浏览器厂商也快速采纳了它。由于IOS、Android及类似平台在平板电脑和智能手机设备中的流行度和市场占有率,使得viewport meta标签被广泛使用。

viewport meta标签是用做布局的,这种活本应属于CSS的职能。这也是为什么W3C正在尝试规范一种新的设备适配方法的原因,将HTML对viewport的控制转交给CSS。

@viewport CSS 规则

使用@viewport规则控制viewport,与使用meta标签的效果相同,只是我们完全使用CSS来控制。与使用meta标签一样,仍然建议使用设备无关的值(device-width)来设置viewport宽度。


如今,也有很多开发者已经在使用@viewport了,因为在IE10的捕捉模式(snap mode)下,Windows 8 Metro模式下的一个特性,可以将浏览器拖至屏幕的左端或右端,同时使用两个窗口。奇怪的是, 要解决这个问题,开发者就要使用上面介绍的device-width方法,或者在media query里面使用@viewport规则。

@viewport 与 Media Queries配合使用
我们可以在media query里面使用@viewport,已达到更加精准的优化。比如,下面的media query将viewport小于400px(IE10 的 捕捉模式)缩放至320px宽。


@viewport 描述符(Descriptors)
zoom描述符等同于viewport meta 标签的initial-sacale属性。


与minimum-scale, maximum-scale对应的描述符是max-zoom, min-zoom。



浏览器支持情况
IE10/11 , opera, webkit, moz 都已支持,,且需要厂商前缀。


所以,目前我们还是需要viewport meta 标签。

后记

用此方法可以解决 Windows Phone IE浏览下, 定位在底部(bottom:0)的元素与底部有间距的问题。

参考:

  1. Thinking Ahead: CSS Device Adaptation With @viewport
  2. http://getbootstrap.com/getting-started/#browsers
  3. Windows Phone 8 and Device-Width

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06CSS制作箭头图标代码(圆,三角形,椭圆)
  • 2017-08-06CSS 浏览器专用
  • 2017-08-06你应该知道的3个CSS技巧
  • 2017-08-06css控制字间距和对齐方式及其所用属性介绍
  • 2017-08-06纯css样式实现3角型
  • 2017-08-06纯CSS实现背景半透明文字不透明效果兼容IE6
  • 2017-08-06span设置text-indent不起作用的原因及解决方法
  • 2017-08-06li float后IE下有空格
  • 2017-08-06深入理解CSS的height:100%和height:inherit之间的使用区别
  • 2017-08-06CSS Float布局过程与老生常谈的三栏布局

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 多步骤进度条的实现原理及代码
    • CSS Sprites雪碧图技术基础学习指南
    • CSS水平对齐示例介绍
    • 纯CSS改变webkit内核浏览器的滚动条样式
    • IE与Firefox中CSS兼容性技巧大全
    • IE9下DIV本来应该居中的结果显示为居左
    • 网页制作中字体使用小结
    • table中的超长字符串用省略号表示的css样式
    • 详解CSS中的选择器优先级及样式层叠问题解决
    • css中li前面点的样式或换成图片不适用其默认样式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有