响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求。响应式的初衷是为了让信息更好的传递交流,让所有人无障碍的获取信息,同时这也是 Web 的初衷。
当我们每天面对缤纷的互联网世界的时候,文字不仅仅传递给我们众多的信息资讯,而且在设计师的手里,文字在网页中的排版承载着一种艺术的直觉。
网页中常用的文字大小单位是 px(Pixels),em,现在新增了 rem 这个单位。
一、那到底什么是 rem 呢?
规范中明确写道:
Equal to the computed value of ‘
font-size
’ on the root element.
「rem」是指根元素(root element,html)的字体大小,好开心的是,从遥远的 IE6 到版本帝 Chrome 他们都约好了,根元素默认的 font-size 都是 16px。这样一个新的单位兼容性如何呢?
太好了,IE9+,Firefox、Chrome、Safari、Opera 的主流版本都支持了,我可以放肆的使用 rem 了。
可是,W3C 那些家伙为什么要闲着下面疼的新增这样一个单位呢?它和 em 有啥区别呢?
我们知道 em 的计算是基于父级元素的,在实际使用中给我们的计算带来了很大的不便。所以 rem 的出现解救了我这样不会算术的人,再也不用担心父级元素的 font-size 了,因为它始终是基于根元素(html) 的。
比如默认的 html font-size=16px,那么我想设置12px 的文字就是:12÷16=0.75(rem)
当然,你可以引入 CSS 预处理工具(Sass、LESS 、Stylus等)自动计算 rem 值,这里就不一一举例了。
但是像我这样的懒人或者团队开发中还没有引入 CSS 预处理工具的该肿么办呢?只能搬个计算器啪啪啪了吗?别急,你还可以变通一下。我们改变一下 html 的默认 font-size=10px 不就好计算了嘛!Like this:
html{font-size:62.5%; /* 10÷16=62.5% */} body{font-size:12px;font-size:1.2rem ; /* 12÷10=1.2 */} p{font-size:14px;font-size:1.4rem;}
需要注意的是,为了兼容不支持 rem 的浏览器,我们需要在 rem 前面写上对应的 px 值,这样不支持的浏览器可以优雅降级。其实不用太纠结是默认的 font-size:100%,还是设置为 font-size:62.5%,如果你引入了 CSS 预处理工具那么自然可以使用默认值,如果由于其他原因使用 font-size:62.5% 也无可厚非,完全可以在 body 中重置回你需要的默认 font-size。
二、为啥要用 rem 呢?
黑夜给了我黑色的眼睛,我将用它寻找关怀。
浏览器中用户都是可以自定义默认的文字大小的,如果使用 px,用户自行在浏览器设置中改变了文字大小后,网页上是不会变化的。我们不能排除视障用户(如近视)、老年用户不会这么做,作为一个具有「人文关怀」的前端,我们完全可以考虑这些情况。由其是在引入了 CSS预处理工具之后,这几乎不会增加什么成本。
也再次印证前面提到的:响应式网页不仅仅是响应不同类型的设备,而且需要响应不同的用户需求。
三、什么时候用 rem?
既然 rem 的可用性更好,是不是在所有地方都去使用呢?别捉急,通常在标题,正文等大面积文字的位置可以使用 rem。但是在一些特殊的设计场景,rem 可能会导致布局错位,比如这样一个回顶部的按钮:
所以,什么时候用 rem,如何用好 rem? 这也需要你拿出 18K的黑色乌金睛来照亮整个页面。让我们一起:
抛开布局,响应文字;抛开成见,响应内心。
相关推荐
在前端开发中,REM(Root Em size)布局是一种常见的响应式设计方法,它允许开发者根据根元素(通常是html标签)的字体大小来设置其他元素的尺寸。这种方法在创建跨设备、跨屏幕尺寸的网页时非常有用,因为它可以...
在移动端Web网页设计中,`rem`布局是一种广泛采用的响应式设计技术,它能够确保网页在不同设备和屏幕尺寸下具有良好的可读性和一致性。`rem`是“root em”的缩写,指的是相对于根元素(通常是`html`元素)字体大小的...
7. 字体调整:通过使用相对单位(如em或rem)和媒体查询,可以确保字体大小在不同设备上保持可读。 8. 视口元标签(`<meta name="viewport">`):用于控制移动设备的视口大小和缩放行为,确保页面在不同设备上正确...
可以使用相对单位(如`em`或`rem`)来设置字体大小,以确保与屏幕尺寸的变化同步。 8. **触摸友好的交互(Touch-friendly Interactions)**:在设计仿三星官网首页时,要确保按钮、链接和其他交互元素在触屏设备上的...
在响应式设计中,使用REM可以使整个页面的大小根据根元素的字体大小动态调整,从而实现自适应布局。设计师可以通过改变根元素的字体大小来控制整个页面的比例,简化了多屏幕尺寸的适配工作。 2. **EM单位**:EM单位...
在前端开发中,`rem`(Root Em单位)是一种相对长度单位,主要用于响应式网页设计。这个"rem详细使用案例"项目就是一个简单的移动端布局示例,旨在帮助开发者快速理解和掌握`rem`单位的运用。 首先,`rem`代表“根...
3. **响应式组件尺寸**:将页面元素的尺寸设置为REM单位,可以确保它们与根元素的字体大小保持比例关系。例如: ```css .button { width: 5rem; height: 2rem; } ``` 当根元素的字体大小变化时,按钮的尺寸也...
总的来说,`rem`单位在CSS3中提供了一种更为灵活和可控的字体大小设置方式,尤其适用于响应式设计和动态调整字体大小的场景。通过合理地运用`rem`,开发者可以创建出更加用户友好的Web界面,同时保持代码的简洁性...
例如,以下代码可以根据设备宽度设置字体大小: ```javascript function setRem() { const baseWidth = 750; // 设计稿宽度 const scale = window.innerWidth / baseWidth; document.documentElement.style....
1. 设置根元素字体大小:在CSS中,首先需要设置html元素的字体大小,例如: ```css html { font-size: 16px; /* 可以根据设备宽度或其他条件动态调整 */ } ``` 2. 使用REM单位:接下来,页面上的其他元素尺寸...
7. **字体调整**:响应式字体大小允许文本在不同设备上保持可读性,可以使用相对单位(如em或rem)而不是固定像素。 8. **性能优化**:响应式设计可能导致额外的HTTP请求和加载时间,因此需要优化图片、使用懒加载...
3. **响应式设计**:`REM`在响应式设计中的作用尤为重要,因为它允许我们根据根元素的字体大小调整所有相关元素的大小。通过改变根元素的字体大小,我们可以轻松地调整整个页面的布局,适应不同的屏幕尺寸。例如,...
在前端开发中,实现网页的自适应布局是至关重要...总结来说,`自适应rem的css文件`是前端开发中实现响应式布局的重要工具,通过合理使用rem单位和媒体查询,我们可以轻松地创建出适应各种设备的美观且功能强大的网页。
4. **可伸缩的字体大小(Scalable Font Sizes)**:使用相对单位(如em或rem)设定字体大小,这样当页面缩放时,字体也会相应地调整大小,提高阅读体验。 5. **模块化设计**:采用组件化和模块化的设计方式,使得...
- 设置html元素的字体大小:`html { font-size: 16px; }` - 使用REM设置元素尺寸:`div { width: 2rem; height: 3rem; }` **二、Viewport Width(VW)布局** 1. **VW介绍** VW是相对于视口宽度的单位,1vw等于...
3. **应用场景**: 在非响应式设计中,使用rem可以实现页面元素在不同屏幕尺寸下的相对比例,尽管不会自动适应,但可以通过设定不同设备上的基础字体大小来控制布局。 **适配wap手机端的界面**: 1. **挑战**: 移动...
在前端开发中,尺寸单位的转换是至关重要的,特别是在响应式设计中,为了实现不同设备上的适配,经常需要将像素(px)单位转换为相对单位(如rem)。`grunt-px2rem`是一个Grunt插件,专门用于批量处理CSS文件,将...
在前端开发中,像素(px)是常用的布局单位,但为了实现响应式设计,开发者往往需要将像素值转换为相对单位,如rem(root em)。rem单位与根元素(通常是html元素)的字体大小相关联,允许页面元素的尺寸根据屏幕...
5. **响应式图片**:使用`<picture>`元素、`srcset`和`sizes`属性,可以让图片根据设备的分辨率和视口大小选择合适的版本,优化加载速度和显示效果。 6. **自适应字体**:通过设置`font-size`的相对单位(如em或rem...