一、元素大小有两种写法

1、写结果:设计师给的移动端页面sketch设计稿一般是750px宽度,在sublime编辑器里,设置cssrem或rem-unit插件为56px的字体大小。做页面时,设计稿是多少px,就写多少px,sublime会把px自动转换成rem,省略口算或心算。

2、写公式

A、如果设计师给尺寸为375px的sketch设计图,某DIV宽120px,就可以写120rem/28
B、如果设计师给尺寸为750px的psd设计图,某DIV宽120px,就可以写120rem/56

二、移动端自适应要点

1、<!DOCTYPE html>
2、<meta name="viewport"content="initial-scale=1, maximum-scale= 1, minimum-scale=1, user-scalable=no">
3、多用100%,rem。px较稳定和精确,em是一个相对于父元素字体的大小,rem是相对于根元素字体的大小。
4、fixRem,js引入。非常重要,可以省略媒体查询,不用设置max-width等样式,非常方便。通常以iphone6为标准,375px宽度,28px字体大小。

三、举个例子

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<meta name="viewport"content="initial-scale=1, maximum-scale= 1, minimum-scale=1, user-scalable=no">
<title>改变字体大小做自适应页面</title>
<style type="text/css">
body, button, input, select, textarea {
    font-family: Helvetica;
    font-size: 12px;
    border: 0;
    outline: 0;
}
body, ul, li {
    margin: 0;
    padding: 0;
}
ul, li {
    list-style: none;
}
.mymenu {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #e81b75;
    -moz-box-shadow: 0 0.25rem 0.25rem #c6c5c5;
    -webkit-box-shadow: 0 0.25rem 0.25rem #c6c5c5;
    box-shadow: 0 0.25rem 0.25rem #c6c5c5;
}
.mymenu li {
    float: left;
    box-sizing: border-box;
    width: 25%;
    text-align: center;
    background-color: #f55097;
    border-right: 1px solid #f5b9c6;
}
.mymenu li a {
    display: inline-block;
    width: 100%;
    height: 1.607143rem;
    line-height: 1.607143rem;
    font-size: 0.5rem;
    color: #fff;
    text-decoration: none;
}
</style>
</head>

<body>
    <ul class="mymenu">
        <li><a href="javascript:;">新年快乐</a></li>
        <li><a href="javascript:;">羊年大吉</a></li>
        <li><a href="javascript:;">万事如意</a></li>
        <li><a href="javascript:;">心想事成</a></li>
    </ul>
    <script>
    window.onload=function() {
        function fixRem() {
            var windowWidth = document.documentElement.clientWidth || window.innerWidth || document.body.clientWidth;
            // windowWidth = windowWidth > 750 ? 750 : windowWidth;
            var rootSize = 28 * (windowWidth / 375);
            var htmlNode = document.getElementsByTagName("html")[0];
            htmlNode.style.fontSize = rootSize + 'px';
        }
        fixRem();
        window.addEventListener('resize', fixRem, false);
    }
    </script>
</body>
</html>

改变字体大小实现自适应之js方案A的更多相关文章

  1. rem布局和使用js rem动态改变字体大小,自适应

    解决rem文字动态改变字体大小: <script> console.log(window.devicePixelRatio); var iScale = 1; iScale = iScal ...

  2. 使用js rem动态改变字体大小,自适应

    <html> <head> <meta charset="utf-8"> <script> console.log(window.d ...

  3. pycharm设置用滑轮改变字体大小

    在电脑第一次安装pycharm之后,发现每次调整代码界面的字体,总是需要到setting里面调整,这样非常不方便,特别是对于代码量很多的时候,我们有时候需要把目光聚焦到某一句代码,这个时候就需要放大, ...

  4. javascript实现一行文字随不同设备自适应改变字体大小至字数完全展示

    产品提了一个小需求,希望一行能展示用户输入的所有文字,因为最多限制为25字符,但是如果夹杂英文/韩文/日文等,即使字符数是一样的,但是展示的长度不一样,则有些title标题会被截断. 效果如图 前提是 ...

  5. uiwebview 加载html时字体变小 加载前或加载后改变字体大小

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #6122ae } p.p2 { margin: 0.0px 0. ...

  6. Eclipse 改变字体大小,设置背景色

    Eclipse背景颜色修改: 操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些.设置方法如下: 1.打开win ...

  7. vs mfc 静态文本 改变字体大小

    VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了. 例子: 1.改静态文 ...

  8. eclipse 改变字体大小

  9. jquery之css()改变字体大小,颜色,背景色

    转: <script type="text/javascript"> $(document).ready(function() {         $("#f ...

随机推荐

  1. AI-序列化-做五个数据接口

    #url.py url(r'^customer/$', views.CustomerView.as_view()), #查询所有数据.添加数据接口url url(r'^customer/(\d+)', ...

  2. java 多线程中的锁的类别及使用

    目前在Java中存在两种锁机制: synchronized Lock Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea. 数据同步需要依赖锁,那锁的同步又依赖谁? ...

  3. 集腋成裘-02-css基础-01

    CSS 层叠样式表(Cascading Style Sheets)(级联样式表) 1 选择器 1.1 写法 选择器是一个选择标签的过程. 选择器{属性:值;...} 1.2 基础选择器 标签选择器 类 ...

  4. python 给对象绑定属性和方法和__slots__的使用

    # 以c语言为主是静态语言,运行之前先编译,在运行的过程中不允许编辑代码# 在运行的过程中,可以改变,可以添加属性,就是属于动态语言(python) # python动态的添加属性以及方法class ...

  5. Hadoop的namenode的管理机制,工作机制和datanode的工作原理

    HDFS前言: 1) 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: 2)在大数据系统中作用: 为各类分布式运算框架(如:mapr ...

  6. dom操作节点之常用方法

    DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...

  7. 深入理解javascript原型和闭包——从【自由变量】到【作用域链】

    一直对闭包和变量作用域链模糊不清!!!有时都怀疑自己是不是脑袋秀逗啦还是范萌!! 先解释一下什么是“自由变量”. 在A作用域中使用的变量x,却没有在A作用域中声明(即在其他作用域中声明的),对于A作用 ...

  8. WPF在XAML中实现持续动画的暂停、恢复、停止

    1.动画通过EventTrigger监听按钮的FrameworkElement.Loaded事件,但控件载入时就进行动画, 持续动画通过<BeginStoryboard Name="y ...

  9. 一起学Hive——总结各种Join连接的用法

    Hive支持常用的SQL join语句,例如内连接.左外连接.右外连接以及HiVe独有的map端连接.其中map端连接是用于优化Hive连接查询的一个重要技巧. 在介绍各种连接之前,先准备好表和数据. ...

  10. 分布式配置 Spark 2.0版本 2.1版本 1.6版本

    apache的各个软件各个版本下载:  http://archive.apache.org/dist/ 1.下载spark. sudo tar -zxf ~/下载/spark-2.0.2-bin-wi ...