改变字体大小实现自适应之js方案A
一、元素大小有两种写法
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的更多相关文章
- rem布局和使用js rem动态改变字体大小,自适应
解决rem文字动态改变字体大小: <script> console.log(window.devicePixelRatio); var iScale = 1; iScale = iScal ...
- 使用js rem动态改变字体大小,自适应
<html> <head> <meta charset="utf-8"> <script> console.log(window.d ...
- pycharm设置用滑轮改变字体大小
在电脑第一次安装pycharm之后,发现每次调整代码界面的字体,总是需要到setting里面调整,这样非常不方便,特别是对于代码量很多的时候,我们有时候需要把目光聚焦到某一句代码,这个时候就需要放大, ...
- javascript实现一行文字随不同设备自适应改变字体大小至字数完全展示
产品提了一个小需求,希望一行能展示用户输入的所有文字,因为最多限制为25字符,但是如果夹杂英文/韩文/日文等,即使字符数是一样的,但是展示的长度不一样,则有些title标题会被截断. 效果如图 前提是 ...
- 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. ...
- Eclipse 改变字体大小,设置背景色
Eclipse背景颜色修改: 操作界面默认颜色为白色.对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些.设置方法如下: 1.打开win ...
- vs mfc 静态文本 改变字体大小
VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体.对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了. 例子: 1.改静态文 ...
- eclipse 改变字体大小
- jquery之css()改变字体大小,颜色,背景色
转: <script type="text/javascript"> $(document).ready(function() { $("#f ...
随机推荐
- 【linux】Linux误删C基本运行库libc.so.6急救方法
转自:http://www.cnblogs.com/fjping0606/p/4551475.html 下面全文都是拷贝的上面链接的内容. 首先普及一下关于libc.so.6的基本常识: libc.s ...
- Ubuntu shutdown now 关机后 开机黑屏
一重装gdm3 失败 sudo apt-get remove --purge nvidia-* # 卸载nvidia相关组件 sudo apt purge gdm gdm3 # 卸载gdm和 ...
- ERROR 1044 (42000): Access denied for user 'root'@'%' to database 'mysql'
原因:修改数据库账号时删除了默认的localhost root, 新建了% root 但没有赋予全部权限; 解决方法: 1.关闭数据库# mysqld stop 2.在my.cnf里加入skip-g ...
- mysql 修改配置文件my.cnf失败
一.连接Mysql提示无法通过socket的解决方法连接到本地MySQL服务器 http://www.aiezu.com/db/mysql_cant_connect_through_socket.ht ...
- Little Red Riding Hood
问题 : Little Red Riding Hood 时间限制: 1 Sec 内存限制: 1280 MB 题目描述 Once upon a time, there was a little gir ...
- Django将默认的SQLite更换为MySQL
1.注释默认的SQLite3配置: blogproject/settings.py ''' DATABASES = { 'default': { 'ENGINE': 'django.db.backen ...
- java基础应用循环的应用
1.1 [经典面试题]: &&(短路与)与&(非短路与)的区别: 表达式1 && 表达式2 表达式1如果为false,表达式2不执行,整个表达式结果为false ...
- CAS单点登录--转载
一:单点登录介绍 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相 ...
- Java 中 static 和 volatile 关键字的区别?
static指的是类的静态成员,实例间共享 volatile跟Java的内存模型有关,线程执行时会将变量从主内存加载到线程工作内存,建立一个副本,在某个时刻写回.valatile指的每次都读取主内存的 ...
- signal() 和 sigaction()
[摘自<Linux/Unix系统编程手册>] Unix系统提供了两种方式来改变信号处置:signal() 和 sigaction(). signal() 的行为在不同Unix实现间存在差异 ...