css如何使用Rem布局实现自适应效果


当前第2页 返回上一页

对于给定的画布宽 750 的视觉稿,如果在布局视口宽度为 414 的 iPhone 6 Plus 设备上呈现,我们可以将视觉稿中元素的像素值按比例除以 (750 / 414),即:

1

2

3

4

5

6

.box{

    width: 387.5px;

    height: 165.6px;

    margin-top: 44.2px;

    background: #F5A623;

}

页面呈现效果也可以跟视觉稿一样了。

3a9b349625140a14c4ba56b82624fe4.png

为了在不同设备宽度(不同视口宽度)的页面中呈现效果跟视觉稿一样,需要写不同的 CSS 像素值。 我们的诉求是希望能用同样的 CSS 代码在不同宽度的设备上展现效果与视觉稿相同,通俗的说就是按照视觉稿中元素与画布的尺寸比例在不同设备上等比缩放,从而达到在不同设备上自适应的效果。

使用 Rem 布局解决自适应问题

如何用同一份 CSS 代码,使元素尺寸随着布局视口宽度的变化按视觉稿中的比例等比缩放?

我们结合 CSS 中相对单位 rem 的特性,rem 单位的像素值是相对于根元素(HTML 元素) 的 font-size 的。例如:HTML 的 font-size 为 100px, 在 CSS 样式中设置某一元素的宽度为 2rem, 那么此元素在页面中的宽度为 200px。

根据元素在视觉稿中的比例等比缩放找到这样一层关系:

1

2

3

4

视觉稿元素尺寸 / 视觉稿画布宽度 

= (rem 值 * HTML 元素的 font-size) / 布局视口宽度

= rem 值 * (HTML 元素的 font-size / 布局视口宽度)

= rem 值 / (布局视口宽度  /  HTML 元素的 font-size)

如果:

1

布局视口宽度  /  HTML 元素的 font-size = 定值 N

就可以用同一份 CSS 代码实现在任何设备中自适应。

1

rem 值 = N * (视觉稿元素尺寸 / 视觉稿画布宽度 )

所以,我们只要确定一个 N 值,再完成两步,即可实现自适应:

第 1 步:动态设置 HTML 元素的 font-size = 布局视口宽度 / N

第 2 步:将视觉稿中导出的元素 CSS 像素值转成 rem 单位: rem 值 = N * (视觉稿元素尺寸 / 视觉稿画布宽度 )

假如您的视觉稿画布宽度是 750,为了便于 rem 值的计算, 您可以选择设置 N = 7.5, 这样只需要将视觉稿中的尺寸值除以 100 就可以得到 rem 单位的 CSS 像素值。

推荐教程:CSS入门教程

以上就是css如何使用Rem布局实现自适应效果的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

css中的伪元素有什么作用

css文件中如何引入另一个css文件?(代码示例)

css怎么设置盒子两像素黑色边框

css 中 @ 用法详解

css3跟css区别是什么

css怎么设置左边距

简述什么是css

css行级元素和块级元素之间怎么转换

css怎么设置阴影效果

html与css中的3d转换模块

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...