使用 rem 布局时,最关键的地方在于动态计算 rem 的值。比如设计稿 640px,我们预设 rem 为 100px。rem 是设计宽度的 15.625%(100 / 640 = 0.15625)。当设备宽度为 320px 的时候,rem 值应该按比例变成 50px。
以前当设备宽度变化时,我们要根据这个比例重新计算 rem 应该是多少,增加了额外的工作量。如果我们可以直接告诉浏览器,我的 rem 就是这个比例(页面宽度的 15.625%),你聪明一点自己算吧!这样不就省事了吗?没错,这就是 vw
单位。
vw 是视图宽度,1vw 相当于 1% 视图宽度(想象把页面宽度分成了 100 份)。所以上面的比例 15.625%,用 vw 就是 15.625vw。当页面宽度变大或者变小,rem 总是页面宽度的 15.625%。
html{ font-size: 15.625vw; // 要理解 vw 是个百分比单位 } // 下面照常使用 rem 做单位
我们这么写就可以了,浏览器会自动计算出来 rem 的值,非常的方便。
如果你的设计稿和预设 rem 不是 640px、100px,那么只需要依据你的比例,修改 vw 值即可。
Read More →
移动端使用 vw + rem 自适应布局
《Re:从零开始的异世界生活》里面我最喜欢的就是雷姆了。
这次图包是我在 Pixiv 搜索レム(リゼロ),下载整理的图片。其中普通图片为收藏数 10000 以上的图片,R-18 图片收藏数 1500 以上,并经过了我的筛选。
Pixiv-レム(リゼロ)-雷姆图包
度盘链接 提取码: tfmw 解压密码:13579
部分预览(多图)
Read More →
Pixiv「レム」雷姆 图片推荐
CSS 的常用长度单位有 px、em、rem、pt 等。今天我遇到一个情况,有两个网站都使用了 rem 作为单位,但是根元素(html)的字号并不相同,需要进行转换。
移植页面的根元素字号是 20px,CSS 规则如: height: 4rem; 我的根元素字号是 100px,需要除以 5,改成: height: 0.8rem;
因为需要修改的地方很多,所以我写了个正则来处理。本文的代码并不是一个通用的工具,只是提供了解决思路。
这次的情况是同一种单位之间的转换,有时候我们可能需要进行不同单位之间的转换,思路都是一样的,根据需要修改代码即可。
Read More →
JavaScript 转换 CSS 里的长度单位
《Re:从零开始的异世界生活》的蕾姆(REM)是近几年热度长盛不衰的动画角色,关于她的 cosplay 图包是数不胜数。最近我在网上看到了一套新图包,转发过来。
一只肉酱阿-蕾姆图包 69P
度盘链接 提取码: 7f9b 解压密码:13579
这套图画质有点渣,不过还是有不少观感不错的图的,值得下载。
部分预览:
Read More →
一只肉酱阿 蕾姆 cosplay 福利图包
更新:两年过去了,现在推荐使用 vw + rem 自适应布局。
我们页面布局中,可以通过动态设置rem并使用rem单位来设置宽高,来使得页面元素的尺寸可以随设备宽度而变化,这样就能保持布局的一致性。
使用JavaScript动态设置rem的代码如下:
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = 100 * (clientWidth / 640) + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window);
公式是这样的:
100 * ( 浏览器页面宽度 / 设计稿宽度 )
第一部分:100是什么
这个100其实是我们使用的rem基础值,等于设置html标签的font-size=100px,这样,1rem也就是100px。
当1rem为100px时,页面上所有元素设置宽高大小时都除以100,就得出了该元素的rem值。比如设计稿上300px宽的元素,用rem设置就是width=3rem。
1rem并不是非要设置为100px,我们也可以设置成别的,比如设置1rem=50px,那么300px的元素是6rem。我们一般取1rem=100px是为了方便计算。如果实际项目中计算页面元素的rem值时不是按1rem=100px来算的,则需要修改公式里的100为实际使用的1rem值。
第二部分:浏览器页面宽度 / 设计稿宽度 是什么
这个可以理解为页面在设备上的缩放比例。比如iphone 6 plus的设备宽度是414px,我们的设计稿是640px。
414/640=0.646875,得出我们的页面在iphone 6 plus上应该显示为设计稿大小的0.646875倍。
最后我们把rem的基础值与页面缩放比例相乘,得出实际使用的rem基础值。rem的基础值变了,页面上所有元素的宽高、大小也会随之改变,这样就达到了页面自适应的效果。
Read More →
动态设置rem使页面自适应缩放
今天又在微博上看到两个摄影发的蕾姆COS照片,婚纱装还是很漂亮滴~(虽然作为婚纱来说穿的有点少)coser是魔法虾饺~
魔法虾饺的蕾姆COS 婚纱ver
蕾姆,你别这样……只要你亲自过来,我整个人都是你的(醒搬砖)
话说之前还有个英文版来着
为什么要利用我们的感情?就因为死宅的钱好骗吗 噗