首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript动态设置根元素的rem

什么是rem 说到rem自然就会想到em,我们知道em是相对于父元素的字体大小的单位,那么rem则是相对于根元素也就是元素的字体大小的单位。 2.如何用rem解决移动端适配 ?...通过这张图我们就可以观察到,div的宽度和高度是根据根元素()来决定的,根元素的字体大小为100px,然后给div的宽度和高度设置为2rem、1rem,最后生成的div的宽度为200px、高度为100px...3.通过JavaScript动态设置rem 不同浏览器根标签的默认字体大小不一样,所以需要JavaScript动态设置rem。...,即为width:18.75rem,height:5rem; 此时 1rem = 40px;将设计稿标注的宽高除以40即可得到rem的值。...width = docEle.clientWidth; width && (docEle.style.fontSize = 10 * (width / 375) + "px"); //设置

3.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    不要再用js设置rem了,现代css自适应方案来了

    在做移动端适配的时候,很多人第一反应就是使用 rem ,通过动态设置 html 上的 font-size 来进行页面的自适应,基本原理就是 rem 表示的是 root em ,页面中所有的值都是基于...当然实际在项目中想必大家都是 rem 梭哈,这里我总结了一些适用场景 rem 一般情况下就是用来设置 font-size ,px 设置边框,em 设置绝大部分属性,比如padding margin border-radio...等等,这样统一的字号标准,让页面不论是缩放还是适配都游刃有余,所以当你拿捏不准使用什么方式来设置一些元素的时候,就按照上述的来,一般是没有什么问题的 使用 js 设置根元素 rem 自从有了 rem...这个便捷的相对单位,我们就有了一些奇怪的操作,比如用 js 设置根元素大小这个操作,就是将网页的根元素字号根据屏幕的大小动态设置为一个固定值,然后在页面中根据 ui 给出的图,换算成 rem 值,进行各种适配...rem 设置字号,em 设置额外内容,px 设置边框 使用 calc+vw 也能做好一般自适应

    6K41

    移动端适配动态rem方案

    可以使用动态REM方案。 # 2 原理 在使用单位控制页面元素大小时,可以使用固定单位px,也可以使用相对单位rem。2rem 等于html标签font-size的2倍。...我们可以 设置html的font-size 为 100*屏幕宽度/设计稿宽度 在写CSS时设置 div 的宽度是 3.75rem (计算时用设计稿标注值除以100),边框宽度为1px 假设用户在逻辑像素宽度是...如果html的font-size 设置为 50*屏幕宽度/设计稿宽度,那么div的宽度就应该是7.5rem了。换算起来就没那么直观了。 # 3 适配代码 const WIDTH = 750 //如果是尺寸的设计稿在这里修改 const setView = () => { //设置...} 内容 # 4 总结 动态Rem方案既能实现页面级整体缩放,又能个性化控制某些元素不缩放

    77010

    Fabric.js 动态设置字号大小 🎄

    本文使用 Fabric.js 的 IText 演示。如果你还不懂 Fabric.js ,我墙裂推荐你阅读 《Fabric.js从入门到精通》。...如果是全文修改,还要判断是否有些字符在自身设置了 fontSize ,如果文字自己设置了 fontSize ,那全文设置的权重没独立设置的那么高。.../521/fabric.js">\n\n const canvas = new fabric.Canvas('c')\n\n const iText...\n\n这么做是因为如果只使用 setSelectionStyles 设置字号大小是无法覆盖每个字本身被设置的 fontSize 。所以还是需要循环一遍,保证每个字都修改到位。...设置字号大小的例子还可以用在上标和下标里,比如 《Fabric.js 上标和下标的使用偏方》 一文中的用法。上标和小标适应用在合在数学公式和化学符号等场景。

    5K30

    在 Visual Studio Code 中设置 px 转换 rem

    最近在做了移动端活动页面,遇到了 H5 适配的问题,其实也有 pxtorem 来做自动转换,但是组内讨论过后,还是决定自己计算 rem ,其实 rem 已经过时了,目前比较流行的是 ViewPort 了...现在遇到的问题是在设置了 RootFontSize 后,需要自己计算这个 rem 的值,直接找了个插件 cssrem 来做 px 自动转换城 rem,看个作者的例子 装好之后可以直接在 vscode...中设置对应的选项来进行自定义 #在 VSCode 中设置 ren 配置 基准 font-size: 16px,但你可以通过以下配置进行修改: 打开 ctrl+, 用户配置界面(或项目配置),只有三个配置项...: cssrem.rootFontSize 基准 font-size (单位:px),默认:16 cssrem.fixedDigits px 转 rem 小数点最大长度,默认:6 cssrem.autoRemovePrefixZero

    3K20

    JS:用rem来做响应式开发

    (你还可以设置更多节点) 用媒体查询的话要保证每个像素下都有对应的适配效果显然你要设置更小的宽度范围; 3.还有就是css3的单位remrem就是将根节点html的font-size的值作为整个页面的基准尺寸...,例如那么1rem=10px;如何做到适配呢?...那就要用到js在页面加载时获取window的宽度(浏览器窗口的宽度)$(window).width();在开发手机页面的时候,一般我们设置最大宽度为640px,因为640px可以保证在至今最宽的手机上显示时网页两端刚好贴合屏幕...; //我这里设置html的font-size:20px;最大 宽为640px,即相当于640/20=32rem;一行有3个div, 所以每个div宽10.6rem 你也可以像论坛里面讲的那样设置...solid #000; box-sizing: border-box; } js window.onresize = window.onload

    6.1K10

    rem+css预处理+媒体查询与rem+flexible.js做网页适配

    流式布局和flex布局主要争对宽度布局,那高度如何设置? 怎样让屏幕发生变化时候元素高宽等比例缩放? rem是什么?l rem是一种新的单位,是一个相对单位,类似于em。...由于rem是基于html的字体大小,所以我们在不同屏幕大小的时候只需要设置html的font-size即可实现整体控制,以实现页适配 媒体查询 争对不同的屏幕尺寸设置不同的样式 @media mediatype...适配方案 一、 css预处理语言 媒体查询 rem 二、 flexible.js rem 动态设置html标签font-size的大小 案例 如果设计稿是750px 2.假如我们把整个屏幕划分为15等份...(这里的标准是指以哪个尺寸的设计稿算出来的font-size值) rem配合 flexible.js 使用第一种方式有点麻烦 如下代码 很多媒体查询 /* 设置常见屏幕尺寸,修改html文字大小*/ /...,因为js做了相关处理 它的原理是把当前设备划分为10等份,但是在不同设备下比例一致 我们要做的就是确定好我们当前设备的html文字大小就可以了 比如当前设计稿750px,那么我们只需要把html文字大小设置

    2.1K20

    第148天:js+rem动态计算font-size的大小,适配各种手机设备

    方案: 布局排版都用rem做单位,然后不同宽度的屏,js动态计算根节点的font-size。...假设设计稿是宽750px来做的,书写css方便计算考虑,根节点的font-size假定为100px,得出设备宽为7.5rem。设计稿中标注的任何px数值都可以换算成px/100的rem值。...就是说,每一个设备的宽度都定为7.5个rem,然后宽度非750px的设备里,就需要用JS对font-size做动态计算。 换算关系为:根节点的font-size=设备宽度/7.5。...js动态计算的font-size值太小时,会导致超小屏上UI显示效果比预想中的偏大。...clientWidth) return; //把document的fontSize大小设置成跟窗口成一定比例的大小,从而实现响应式效果。

    2.7K30

    在 Vue.js 中通过计算属性动态设置属性值

    引子 前面我们已经陆续介绍了 Vue.js 框架的常用基本语法,现在,我们可以结合这些语法实现一个小功能:展示一个 Web 框架列表,并支持新增框架。...UTF-8"> 计算属性示例代码 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.<em>js</em>...在上述代码中,我们使用到了前面介绍的数据绑定、列表渲染、事件监听和处理、属性和类名绑定等所有基本语法,在浏览器中预览该页面: 我们可以通过列表下面的输入框和按钮新增框架到列表项: 可以看到,使用 Vue.<em>js</em>...在浏览器刷新页面,添加框架后就可以看到框架列表会重新排序: 不过这种实现有个问题,就是页面一开始渲染的时候,列表项并没有按照 language 排序,为了更优雅的实现这个排序,可以使用 Vue.<em>js</em>...好了关于 Vue.<em>js</em> 的基本语法学院君就简单介绍到这里,下篇教程,我们将开启 Vue 组件开发之旅。

    12.6K50
    领券