rem自适应相关杂谈

本文探讨了rem作为自适应界面设置的关键,解释了rem基于document的font-size工作原理,如何通过JavaScript动态调整html的font-size,实现界面大小的自适应。同时讨论了min-width、min-height与内容的关系,以及在Highcharts中的应用和高度自适应策略。
摘要由CSDN通过智能技术生成

今天收获:
1、解决rem的概念问题
所谓rem,通常是根据document 也就是window 刚开始设置的字体大小确定的 比如:
这里写图片描述
html中的font-size被设置成了16px,那么此时1rem=16px;即使此时在.one标签中再次设置font-size的值,也只会根据初始的(全局的)也就是html中的值进行变化,如果更改了html的值,rem随之变化,这种形式通常被用来设置自适应大小的界面。通过对高宽大小的设置(使用rem为单位),就可以只改变html中font-size的值,改变所有使用rem的变量。
document.documentElement是DOM操作中不需要寻找就可以获得的变量,它指的是html.
document.documentElement.style.fontSize=”?”这样就通过js完成了对font-size的设置,此时设置的是一个定值 ? 可以通过document.documentElement.clientWidth来获取当前页面的宽度,大多数通过对当前宽度除以一定的数值来获取一个随页面宽度变化的定值,这个一定的数值可以自己设置(自己觉得好用就好 个人观点 取一个好整除的),方便自己调用设置各种类型的长宽高。同理,也可以获取当前页面高度
document.documentElement.clientHeight。
min-width和min-height:只是设置最小的值,在极限情况下加以限制,他们的大小通常由内容撑开。css属性中的auto

REM自适应布局是一种基于CSS3新特性的网页布局方式,它利用REM(根元素字体大小)作为参考值,根据屏幕宽度动态改变HTML根元素的字体大小,从而实现网页元素的自适应布局。通过设置REM的值,可以方便地实现不同设备屏幕的适配。同时,REM还可以与媒体查询结合使用,实现不同屏幕尺寸下的布局调整。 实现REM自适应布局的关键是要将设计稿中的尺寸转换为REM单位,然后通过设置根元素字体大小来实现网页元素的自适应布局。一般来说,设计稿中的尺寸需要除以一个基准值,例如设计稿中的字体大小为16px,基准值为20px,则转换为0.8rem。 以下是一个使用REM实现自适应布局的示例代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>REM自适应布局示例</title> <style> html { font-size: 62.5%; /* 将1rem设置为10px */ } body { font-size: 1.6rem; /* 设置默认字体大小为16px */ margin: 0; padding: 0; } .container { width: 90%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; } .box { width: 30%; margin-bottom: 20px; background-color: #f2f2f2; border: 1px solid #ccc; padding: 20px; box-sizing: border-box; } @media screen and (max-width: 768px) { .box { width: 48%; } } @media screen and (max-width: 480px) { .box { width: 100%; } } </style> </head> <body> <div class="container"> <div class="box"> <h2>Box 1</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> <div class="box"> <h2>Box 2</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> <div class="box"> <h2>Box 3</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> </div> </div> </body> </html> ``` 在上面的代码中,我们将1rem设置为10px,这样设计稿中的尺寸除以10就可以得到对应的REM值。例如,设计稿中的字体大小为16px,对应的REM值为1.6rem。 同时,我们使用了Flexbox布局和媒体查询来实现不同屏幕尺寸下的自适应布局。在媒体查询中,我们根据屏幕宽度动态改变了盒子的宽度,从而实现了响应式布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值