一、元素大小有两种写法

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. 基于BootStrap的Collapse折叠(包含回显展开折叠的对应状态)

    情况描述:为了改善页面上的input框太多,采用∧∨折叠展开,这个小东西来控制,第一次做,记录一下ヾ(◍°∇°◍)ノ゙下边是Code 代码: //html代码 <div id="col ...

  2. bzoj 2150

    然后考虑正解 我们发现,最坏情况就是每个点都派驻军队,所以答案至多是“.”的数目 而且,每个点都至多只有一个入度和一个出度,所以我们可以将每个点拆成两个点,一个作为入点,一个作为出点,然后所有图上能到 ...

  3. vue 中样式的绑定

    1.class的对象绑定 //对应的css <style> .active { color: red; } </style> <!--html 对应的代码--> & ...

  4. axure--轮播图

    1.使用动态面板的循环实现图片轮播的要点:1)当鼠标移出动态面板的范围时才显示左右两边的方向按钮,否则该两个按钮都是隐藏的.则思路如下:且四个条件之间是“or”的关系,不是“and”[[Cursor. ...

  5. C++ Primer 笔记——固有的不可移植的特性

    1.为了支持底层编程,C++定义了一些固有的不可移植的特性,所谓不可移植特性是指因机器而异的特性. 2.一个位域中含有一定数量的二进制位,位域在内存中的布局是机器相关的.位域的类型必须是整型或枚举类型 ...

  6. Linux进程管理工具

    Linux进程管理工具 Htop yum install htop 参考帮助: http://blog.csdn.net/skh2015java/article/details/53173896 Li ...

  7. github.com加速节点

    github.com加速节点 192.30.253.118 github.com192.30.253.119 github.com93.46.8.89 github.com

  8. zookeeper都有哪些使用场景

    分布式协调 这个其实是zk很经典的一个用法,比如,A系统发送个请求到mq,然后B拿到消息消费之后处理了.那A系统如何知道B系统的处理结果? 用zk就可以实现分布式系统之间的协调工作.A系统发送请求之后 ...

  9. django-会话 cookie 中缺少HttpOnly 属性-安全加强

    如果django程序扫描到会话 cookie 中缺少 HttpOnly 属性问题,需要如何进行安全加强? https://docs.djangoproject.com/en/2.2/ref/setti ...

  10. Java枚举类使用和总结

    1.枚举类使用情况一: package com.bie.util; import java.util.HashMap; import java.util.Map; /** * * @author bi ...