使用rem前的准备:

  • 如果是移动端,添加name="viewport"的meta标签,其中的属性数值根据实际需求而定:

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

rem布局:

两个常用方法:(视情况选其一使用)

  • 通过document.body.clientWidth获取网页可见区域的宽度,
  • 通过window.screen.width获取设备宽度
<script>
var offWidth = window.screen.width; // 获取设备宽度
// 通常把设计稿按照1rem =100px设置,好换算,假设设计稿宽度为移动端的375px,换算如下:
document.getElementsByTagName("html")[0].style.fontSize = offWidth*(100/375)+ 'px'; //把转换的值赋值给顶级标签html的font-size属性(即1rem的标准参考物) console.log('offWidth:'+offWidth,document.getElementsByTagName("html")[0].style.fontSize)
</script>

meta标签详解和常用属性

  • 概念: 标签提供了 HTML 文档的元数据。元数据不会显示在客户端,但是会被浏览器解析。详细请点:

    它根据name的不同,提供各种功能。
  • 常用属性:
    1. name="viewport" 用于移动端显示优化(通常直接复制下面代码使用即可)深入理解viewport

      <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

      * content里的属性:

      width 设置layout viewport 的宽度,为一个正整数,或字符串"width-device"

      initial-scale 设置页面的初始缩放值,为一个数字,可以带小数

      minimum-scale 允许用户的最小缩放值,为一个数字,可以带小数

      maximum-scale 允许用户的最大缩放值,为一个数字,可以带小数

      height 设置layout viewport 的高度,这个属性对我们并不重要,很少使用

      user-scalable 是否允许用户进行缩放,值为"no"或"yes", no 代表不允许,yes代表允许
    2. 移动端其他优化:
<!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 -->
<meta name="HandheldFriendly" content="true">
<!-- 微软的老式浏览器 -->
<meta name="MobileOptimized" content="320">
<!-- uc强制竖屏 -->
<meta name="screen-orientation" content="portrait">
<!-- QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait">
<!-- UC强制全屏 -->
<meta name="full-screen" content="yes">
<!-- QQ强制全屏 -->
<meta name="x5-fullscreen" content="true">
<!-- UC应用模式 -->
<meta name="browsermode" content="application">
<!-- QQ应用模式 -->
<meta name="x5-page-mode" content="app">
<!-- windows phone 点击无高光 -->
3. 描述、搜索优化:
实例 1 - 定义文档关键词,用于搜索引擎:
`<meta name="keywords" content="HTML, CSS, XML, XHTML, JavaScript">`
实例 2 - 定义web页面描述:
`<meta name="description" content="Free Web tutorials on HTML and CSS">`
实例 3 - 定义页面作者:
`<meta name="author" content="Hege Refsnes"> `
实例 4 - 每30秒刷新页面:
`<meta http-equiv="refresh" content="30">`

本文部分知识点来源于菜鸟教程笔记

rem布局注意问题和meta标签的更多相关文章

  1. 响应式布局中重要的meta标签设置.适用于手机浏览器兼容性设置

    <!-- #手机浏览器兼容性设置 -->    <meta content="application/xhtml+xml;charset=UTF-8" http- ...

  2. 移动平台webApp的meta标签-----神奇的功效

    对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究 ...

  3. 移动平台的meta标签-----神奇的功效(转)

    对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究 ...

  4. 移动平台的meta标签-----神奇的功效

    对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究 ...

  5. 移动平台的WebApp之Meta标签

    对于桌面平台web布局中大家对meta标签再熟悉不过了,它永远位于 head 元素内部,对做SEO的朋友一定对meta有种特殊的感情吧,今天我们就来说说移动平台的meta标签,在移动平台meta标签究 ...

  6. 使用视 meta 标签来控制手机浏览器布局

    移动浏览器的Fennec一样呈现在一个虚拟的"窗口"页面(视),通常比屏幕宽.所以他们不需要去挤每个页面布局到一个小窗口(这会破坏许多非移动优化的网站) .用户可以平移和缩放才能看 ...

  7. 关于移动端 rem 布局的一些总结

    [资源一]基础知识恕不回顾 基础知识参考以下两篇博客: http://isux.tencent.com/web-app-rem.html http://www.w3cplus.com/css3/def ...

  8. Html5移动端页面自适应布局详解(阿里rem布局)

    在移动设备上进行网页的重构或开发,首先得搞明白的就是移动设备上的viewport,通读网上的各种对于viewport的解释之后 大概viewport可以理解为三种 1.layout viewport  ...

  9. 移动端页面开发适配 rem布局原理

    主题 HTML移动端页面开发适配 rem布局原理 什么是适配,为什么要适配 我们拿到的设计图一般是以640,750,1080分辨率为基准设计的,而现在的手机终端各式各样,分辨率不同,逻辑像素不同 ,适 ...

随机推荐

  1. 「bzoj 4025: 二分图」

    题目 显然二分图没有奇环 于是考虑使用并查集维护一下看看是否存在奇环 我们可以考虑加权并查集,维护出\(x\)到\(fa_x\)的实际距离 由于我们只需要考虑奇偶性,于是我们处理出到根的路径异或一下就 ...

  2. 随手练——HDU-1210 洗牌问题(模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1210 模拟的题目真不知道怎么写的话,就把真实情况展示出来,有图才有真相: 测试代码: #include ...

  3. Presentation 常用的承接句——技术分享、学术报告串联全场不尴尬

    前言 现在即使是搞技术,做科研的,也需要在不同的场合,用ppt来做分享,做汇报,做总结. 如果国际会议,研讨会,或者在外企,国外工作,英文的presentation就更加必不可少.英语的提升需要大家从 ...

  4. LayIM.AspNetCore Middleware 开发日记(五)Init接口实现细节

    前言 “一旦开始了就要坚持下去“.为什么本文的第一句话是这么一句话呢,因为我经常就是开头轰轰烈烈,结果越来越枯燥,就不想做下去了.但是版图就放弃又那么不甘心,继续加油吧. 吐槽完毕,进入正题.在上一篇 ...

  5. deque详解

    deque是double-ended queue的简称,deque和vector几乎上是一样的,使用的非常少,定义在<deque>头文件里: deque和vector的区别在于: 1)de ...

  6. Go并发与.Net TAP

    Go package main import "fmt" func sum(arrays []int, ch chan int) { fmt.Println(arrays) sum ...

  7. mysql5.6编译安装

    1.安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl -y yum -y install wget gcc-c++ ncurses nc ...

  8. PAT——1072. 开学寄语(20)

    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面.理发.整衣,然后思过.读书.锻炼.明智.开悟.精进 ...

  9. Sql Server 部署SSIS包完成远程数据传输

    本篇介绍如何使用SSIS和作业完成自动更新目标数据任务. ** 温馨提示:如需转载本文,请注明内容出处.** 本文链接:https://www.cnblogs.com/grom/p/9018978.h ...

  10. iOS 使约束带动画效果(Animate NSLayoutconstraints)

    http://stackoverflow.com/questions/12926566/are-nslayoutconstraints-animatable http://stackoverflow. ...