- em: 自身元素font-size的n倍,如果自身元素没有设置font-size,就从父元素继承过来
pc端的font-size最小是12px,但移动端就不是了
em常用于text-indent:2em; 段落缩进,因为2em就表示2个字体大小
2,主流:rem
375px -> 1rem = 20px
height = 50(50是某个div的高度) / 20 = 2.5rem
750px -> 1rem = 40px
height = 100 / 40 = 2.5rem
?(视口宽度) -> 1rem = (?/375) * 20px
1rem = (document.documentElement.clientWidth / 375 ) * 20px
或者
1rem = (document.documentElement.clientWidth / 750 ) * 40px
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
html {
font-size: 20px;
}
div {
width: 100%;
height: 2rem;
line-height: 2rem;
background: pink;
text-align: center;
}
</style>
</head>
<body>
<div>123</div>
<script>
function setRem() {
const domEl = document.documentElement;
let cliWidth = domEl.clientWidth;
domEl.style.fontSize = (cliWidth / 375) * 20 + 'px';
}
setRem()
window.onresize = setRem
</script>
</body>
</html>