webveuje/csspress/demo2/rem.html

147 lines
4.5 KiB
HTML
Raw Permalink Normal View History

2021-01-28 09:06:45 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.dingdan {
width: 100%;
}
body{
background: #EEEEEE;
}
.dingdanqueren {
/* width: 1.49rem; */
height: 1.37rem;
font-size: 0.37rem;
font-family: PingFang SC;
font-weight: 800;
color: #222222;
line-height: 1.37rem;
text-align: center;
background: white;
}
.dingdanxinxi{
height: 1.65rem;
display: flex;
justify-content: space-between;
border-bottom: 1px solid gray;
padding-bottom: 0.38rem;
padding-left: 0.3rem;
padding-right: 0.25rem;
background: white;
}
.tubiao{
width: 0.17rem;
height: 0.31rem;
background: blue;
margin:auto 0
}
.dizhi{
width: 5.3rem;
}
.nameandphonen{
display: flex;
justify-content: space-between;
}
</style>
<script>
//designWidth:设计稿的实际宽度值,需要根据实际设置
//maxWidth:制作稿的最大宽度值,需要根据实际设置
//这段js的最后面有两个参数记得要设置一个为设计稿实际宽度一个为制作稿最大宽度例如设计稿为750最大宽度为750则为(750,750)
; (function (designWidth, maxWidth) {
var doc = document,
win = window,
docEl = doc.documentElement,
remStyle = document.createElement("style"),
tid;
function refreshRem() {
var width = docEl.getBoundingClientRect().width;
maxWidth = maxWidth || 540;
width > maxWidth && (width = maxWidth);
var rem = width * 100 / designWidth;
remStyle.innerHTML = 'html{font-size:' + rem + 'px;}';
}
if (docEl.firstElementChild) {
docEl.firstElementChild.appendChild(remStyle);
} else {
var wrap = doc.createElement("div");
wrap.appendChild(remStyle);
doc.write(wrap.innerHTML);
wrap = null;
}
//要等 wiewport 设置好后才能执行 refreshRem不然 refreshRem 会执行2次
refreshRem();
win.addEventListener("resize", function () {
clearTimeout(tid); //防止执行两次
tid = setTimeout(refreshRem, 300);
}, false);
win.addEventListener("pageshow", function (e) {
if (e.persisted) { // 浏览器后退的时候重新计算
clearTimeout(tid);
tid = setTimeout(refreshRem, 300);
}
}, false);
if (doc.readyState === "complete") {
doc.body.style.fontSize = "16px";
} else {
doc.addEventListener("DOMContentLoaded", function (e) {
doc.body.style.fontSize = "16px";
}, false);
}
})(750, 750);
/*
第一个参数是设计稿的宽度一般设计稿有640或者是750你可以根据实际调整
第二个参数则是设置制作稿的最大宽度超过750则以750为最大限制。
*/
</script>
</head>
<body>
<div class="dingdan">
<div class="dingdanqueren">
<p>订单确认</p>
</div>
</div>
<div class="dingdanxinxi">
<div class="dizi">
<div class="nameandphonen">
<div class="name">
<img src="" alt="">
<p>张三</p>
</div>
<div class="phonen">
<img src="" alt="">
<p>12345678910</p>
</div>
</div>
<div class="zhuzhi">
<img src="" alt="">
<p>山东省泰安市宁阳县文庙街道XX小区</p>
</div>
</div>
<div class="tubiao"></div>
</div>
<div>
</div>
<div></div>
<div></div>
<div></div>
</body>
</html>