rem布局是js部分吗

rem布局是js部分吗,第1张

rem布局不是js部分。根据查询相关公开信息显示:rem布局,是一种CSS布局方法,与JavaScript部分无关。rem是指相对于根元素(html标签)字体大小来确定其他元素大小的单位,因此可以实现根据屏幕大小自适应调整元素大小的效果,使用rem布局的关键在于设置根元素字体大小,通常使用媒体查询和JavaScript等技术来动态计算适当的字体大小,但这并不意味着rem布局本身就是JavaScript部分。

应该是设置rem的函数加载顺序问题,应该先加载这个函数和css再去加载dom,这样就没有自适应跳动的问题,如果在加载dom之后调用该函数的话(在body之后加载函数),这样进入页面,fontSize会先以默认值显示,当读取了设置函数后才进行自适应。

1
2

html{font-size:625%}
body{font-size:12rem}
对于上面的代码了解过rem的人基本也知道什么意思,这样的结果就是12rem=12px,但是在项目中使用rem作为字体单位时并没有什么卵用,万能的百度教会了rem这个单位,却并没有教会我如何使用他,好吧自己摸索吧,然后就有了下面这个js代码
(function (doc, win) {
// html
var docEl = docdocumentElement,
resizeEvt = 'orientationchange' in window 'orientationchange' : 'resize', recalc = function () {
var clientWidth = docElclientWidth;
if (!clientWidth) return;
clientWidth = (clientWidth > 768 ) 768 : clientWidth ; docElstylefontSize = 10 (clientWidth / 375 ) + 'px';
};
if (!docaddEventListener) return; winaddEventListener(resizeEvt, recalc, false);
recalc();
})(document, window);
/移动端适应大小/
使用时建议单独建一个js包,要用直接引用就行,引入上面 的js代码后,字体和高度使用rem作为单位,宽带设为百分比,项目在不同的移动端设备就会自动适应屏幕啦

这个可以通过布局和样式解决:
方法一:所有布局用百分比布局,这种方法是比较传统的。
方法二:百分比和em(一个字符的单位)相结合的;
方法三:rem为单位来写样式,需要借助JS来根据分辨率的大小调整rem;
方法四:布局用rem单位,而字体用em
第1、2两种方法是比较传统,网上随便搜搜就找得到了;第3种开始用到的rem,rem是css3新出的一种样式属性单位,类似PX;但是rem是可以人为设置大小的,也就是说rem这个单位的大小是可以设置,基于这个特性,再通过JS来根据分辨率控制这个rem的单位大小;
JS代码:
(function (doc, win) {
var docEl = docdocumentElement,
resizeEvt = 'orientationchange' in window 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docElclientWidth;
if (!clientWidth) return;
docElstylefontSize = 40 (clientWidth / 1080) + 'px';
consolelog(40 (clientWidth / 1080))
};
if (!docaddEventListener) return;
winaddEventListener(resizeEvt, recalc, false);
docaddEventListener('DOMContentLoaded', recalc, false);
})(document, window);
这边的40是rem的自己需要单位大小(自己根据需求设置的,如果需要甚至可以改成10);
这边的1080是设计效果图的大小,如果设计图是以宽度为2000的话,那么这边的1080就改成2000;
而em用来做字体单位的话,就可以根据不同的显示器(手机自身的设定)来显示字体,不会出现字体大的离谱,或者小的看不见的状况;
不过rem因为是CSS3的属性,在PC端的兼容性很差,不建议使用,但是移动端是非常适合的,总结就是PC端:方法一、方法二,移动端:方法三、方法四

首先要设置body的css样式,body{ font-size:625%;/16px625%=10px/}
if(screenwidth==720)
{
div{font-size:14rem;}
}
或者是用媒体查询
@media screen and (min-width:720px){
div { font-size:14rem;}
}
希望对你有帮助,望采纳!

PX实际上就是像素,用PX设置字体大小时,比较稳定和精确。但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,如果改变了浏览器的缩放,这时会使用我们的Web页面布局被打破。这样对于那些关心自己网站可用性的用户来说,就是一个大问题了。因此,这时就提出了使用“em”来定义Web页面的字体。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13388326.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-26
下一篇 2023-07-26

发表评论

登录后才能评论

评论列表(0条)

保存