var clientWidth = 0;
if(document.documentElement.clientWidth >= 600){
clientWidth = 600;
}else{
clientWidth = document.documentElement.clientWidth;
}
document.documentElement.style.fontSize = 50 * clientWidth/375 + 'px';
window.onresize = function(){
if(document.documentElement.clientWidth >= 600){
clientWidth = 600;
}else{
clientWidth = document.documentElement.clientWidth;
}
document.documentElement.style.fontSize = 50 * clientWidth/375 + 'px';
}
设计稿宽度750px,设备宽度350px,此时html 的font-size:50px,及1rem=50px; 假设一元素在设计稿上宽度为750px,750/100=7.5rem(7.5*50=375px)。
计算方法:设计稿的尺寸 / 100 = XXX rem;
2、设置html的font-size: 13.33vw
首先要先说明:移动端的设计稿一般是width:750px,height:auto(这里指的是不确定),100vw = 100%,这个也没有问题吧;那么,设计稿拿过来,我们可以得出:750px = 100vw,这个也没有问题吧,那么1px等于多少vw呢? 是不是 1px = 100 / 750 vw = 0.3333vw;那么100px = 多少vw呢,这个应该知道了吧。100px = 13.33vw;
思路过程:
mobile.width = 750px => 750px = 100% =100vw => 750px = 100vw => 1px = 0.1333vw => 100px = 13.33vw => 1rem =100px;
即:我们把html:{font-size: 13.33vw} // 也就是以100px位基准;1rem = 100px;
计算方法:设计稿的尺寸 / 100 /2 = XXX rem;
3、设置html的font-size并缩放页面
var html = document.getElementsByTagName('html')[0];
var width = html.getBoundingClientRect().width;
html.style.fontSize = width / 16 + 'px';
var PixelRaio = 1 / window.devicePixelRatio;
document.write('<meta name="viewport" content="width=device-width,user-scalable=no,initial-scale=' + PixelRaio + ',minimum-scale=' + PixelRaio + ',maximum-scale=' + PixelRaio + '"/>')
计算方法:设计稿的尺寸 / 46.875 = XXX rem;
来源:https://www.cnblogs.com/gxp69/archive/2018/11/11/9943012.html
移动端项目中经常遇到自适应的问题,下面我们来看看关于自适应的方法:在盒模型中,margin、padding的百分比数值是相对于父元素的宽度计算的,所以将padding值设为与width值相同的百分比即可。
rem 是相对长度单位,是指相对于根元素(即html元素)font-size(字号大小)的倍数;vw 是相对长度单位,相对于浏览器窗口的宽度,浏览器窗口宽度被均分为100个单位的vw,rem 和 vw 结合实现WEB页面等比例缩放自适应
利用vw、vh、vmin、vmax,vw表示的是viewport的宽度,也就是视口的宽度,vh表示的是视口的高度;利用双层嵌套来写,将外层的div的position设置relative,内层的position设置为absoult
auto 你可以理解为一种 自动/自适应 的概念,比如现在项目需要一个宽度为960px的整体布局居中,你可使用margin:0 auto;来实现。 无论用户浏览器宽度为多少。
最近在开发一个批量展示图片的页面,图片的自适应排列是一个无法避免的问题,在付出了许多头发的代价之后,终于完成了图片排列,并封装成组件,最终效果如下
在网页的<head>中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度,其中:width=device-width :表示宽度是设备屏幕的宽度,height=device-height :表示宽度是设备屏幕的宽度
有时候在WKWebView加载页面后会发现页面的字会很小, 这是因为原网页没有做手机屏幕尺寸的适配, 那么在后台不做调整的情况下我们移动端怎样来适配页面呢?以下代码可以适配大小
一个媒体查询由一个可选的媒体类型和零个或多个使用媒体功能的限制了样式表范围的表达式组成,例如宽度、高度和颜色。媒体查询,添加自CSS3,允许内容的呈现针对一个特定范围的输出设备而进行裁剪,而不必改变内容本身。
拖动效果的实现基本都是dom操作来实现的,通过拖动分隔线,计算分隔线与浏览器边框的距离(left),来实现拖动之后的不同宽度的计算;当拖动分隔线1时,计算元素框left和mid;当拖动分隔线2时
但是该方案存在一个bug,上面的代码,当浏览器窗口变化的时候,box中的文字并没有按照应有的比例变化,但是css3标准中是这么说的:When the height or width of the viewport is changed, they are scaled accordingly.
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!