网站首页 > 基础教程 正文
em参考该元素的字体大小而定
rem->root 参考根元素(html)的字体大小, html默认字体的大小: 14px
使用rem单位开发移动端页面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
div{
width: 15rem;
height: 100px;
background-color: red;
}
</style>
<meta name="viewport" content="width=device-width,initial-scale=1" />
</head>
<body>
<div></div>
<script type="text/javascript">
//获取dpr
var dpr = window.devicePixelRatio;
//获取缩放比
var scale = 1 / dpr;
//重写写入meta标签
document.write('<meta name="viewport" content="width=device-width,initial-scale='+scale+'" />');
//获取设备宽度(分辨率)
var w = document.documentElement.clientWidth;
//获取html
var html = document.getElementsByTagName("html")[0];
html.style.fontSize = w / 15 + "px";
</script>
</body>
</html>
vw
css3新单位,viewpoint width的缩写, 视窗宽度, 1vw等于视窗宽度的1%。
举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。
vh
css3新单位, viewpoint height的缩写, 视窗高度, 1vh等于视窗高度的1%。
举个例子:浏览器高度900px, 1 vh = 900px/100 = 9 px。
vm
css3新单位, 相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vm
举个例子:浏览器高度900px, 宽度1200px, 取最小的浏览器高度, 1 vm = 900px/100 = 9 px。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
/*html,body{
height: 100%;
}*/
div{
width: 100px;
/*height: 100%;*/
height: 50vw;
background-color: red;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
em 是一个很早就出现的单位, IE6 都可以兼容。但是 rem 是 CSS3 的属性, 使用的时候要注意它的兼容性问题。目前 rem 通常应用在移动端的 WEB 开发上。
Rem 适配的优点: Rem 的参考值只有一个, 就是 HTML 字体大小, 所以不会像百分比适配那样要明确参考谁。
Rem 使用的范围比较广, 元素的高度宽度、border 宽度、字号大小、间距和偏移量等都可以用 rem 做单位 Rem 适配的时候不需要做多套样式, 可以直接按比例改变 HTML字体的大小。
Rem 适配的缺点: Rem 是 CSS3 的属性, 只有比较新的浏览器上可以使用, 一般都是用在移动端。目前大厂的 H5 页面, 基本都在使用 Rem 方式做屏幕适配了。
Rem 最后换算出来的值还是 px, 所以对于按比例分配空间这种需求是没法满足的, 需要和其他适配方式混合使用。
- 上一篇: Vue3 JS 与 SCSS 变量相互使用- 干货
- 下一篇: 没人告诉你关于 CSS 变量的那些事
猜你喜欢
- 2024-11-16 SCSS中定义变量(scss 定义变量)
- 2024-11-16 [ DeWeb 使用技巧 ] 如何在js中向当前Form发送消息?
- 2024-11-16 webpack 常见loader原理剖析,动手实现一个md2html的loader
- 2024-11-16 如何在CSS中通过变量应用padding属性?
- 2024-11-16 uni-app使用经验—vue页面和html页面如何互相调用接口并传参
- 2024-11-16 提前试用将在 Go1.16 中发布的内嵌静态资源功能
- 2024-11-16 CSS3实战小技巧--使用CSS变量实现波浪动画
- 2024-11-16 css的变量教程,更强大的css(css如何使用变量)
- 2024-11-16 有趣的 CSS 数学函数(有趣的css代码)
- 2024-11-16 前端开发者的必备好书:CSS世界三部曲,你都知道吗?
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)