每日一学—设置页面文字大小随屏幕大小变化而变化(rem布局)

简介: 每日学一点加强技术水平,夯实基础。 阅读这篇文章,一起学习rem布局吧。

前言

昨天刷题的时候遇到这个填空,初看代码,并不太懂这段代码的含义,通过调试和查阅资料,发现这段代码作用可大了,可以让网页适配移动端,设置页面文字大小随屏幕大小变化而变化。

0cbfe65a2fe4802ee28877b97758dcb.jpg

什么是rem❓

rem是相对单位,是相对HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。(除了IE8及更早版本外,所有浏览器均已支持rem

问题分析

首先我们要知道设置页面文字大小随屏幕大小变化而变化需要用到什么单位,没错就是上面所说的rem这个相对单位,设置页面文字大小随屏幕大小变化而变化,这句话说白了就是实现响应式的操作,除了文字,网页布局也经常涉及到响应式的布局,让网页做到兼容不同的设备或者分辨率,在不同的应用场景,实现一样的用户体验。

关于响应式网页设计

响应式网站设计(Responsive Web design)的理念是:页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整。具体的实践方式由多方面组成,包括弹性网格和布局、图片、CSS media query的使用等。无论用户正在使用笔记本还是iPad,我们的页面都应该能够自动切换分辨率、图片尺寸及相关脚本功能等,以适应不同设备;换句话说,页面应该有能力去自动响应用户的设备环境。响应式网页设计就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这样,我们就可以不必为不断到来的新设备做专门的版本设计和开发了。


rem布局代码如下

(function (doc, win) {
vardocEl=doc.documentElement,
resizeEvt='orientationchange'inwindow?'orientationchange' : 'resize',
recalc=function () {
//在以下横线中填写,如何宽度大于720那就按720执行,否则按实际宽varclientWidth=docEl.clientWidth;
// var clientWidth = ______(10)________;varclientWidth=docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize=20* (clientWidth/320) +'px';
  };
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);


相关文章
|
JavaScript 前端开发
js判断数据类型的方法
js判断数据类型的方法
431 0
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
3660 0
|
存储 前端开发 JavaScript
🚀前端轻松实现网页内容转换:一键复制、保存图片及生成 Markdown
在现代前端开发中,提升用户的交互体验至关重要。本文将详细介绍如何使用 HTML2Canvas 和 Turndown 两个强大的 JavaScript 库,实现将网页选中文本转化为图片并保存或复制到剪贴板,或将内容转换为 Markdown 格式。文章包含核心代码实现、技术细节和功能拓展方向,为开发者提供了一个轻量级的解决方案,提升用户体验。
1626 68
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
844 5
|
编解码 前端开发 JavaScript
前端:Rem 及其转换原理
Rem是一种用于前端开发的相对字体大小单位,它基于根元素的字体尺寸来定义文本大小,有助于实现响应式布局和可维护性。Rem的转换原理是通过相对于HTML根元素的字体大小来设置子元素的字体大小,从而实现统一的比例调整,提高页面的适应性和灵活性。此方法简化了跨浏览器和设备的布局调整,增强了用户体验。
|
JavaScript 前端开发 安全
一个贼丝滑的 Vue 2 扩展组件,开源且免费
一个贼丝滑的 Vue 2 扩展组件,开源且免费
|
JavaScript 前端开发
document.write和innerHTML、innerText 的区别
document.write和innerHTML、innerText 的区别
392 5
|
JSON 前端开发 安全
前端解决跨域的六种方法
跨域问题是指当一个网页试图访问来自不同源(域名、协议、端口)的资源时,浏览器会出于安全考虑而限制这种访问。这是因为浏览器的同源策略防止了恶意网站获取其他网站的敏感信息。
|
前端开发 JavaScript UED
Dynamic Import 技术在 Web 前端的应用
Web前端技术日新月异,其中一个重要的方面就是动态导入(Dynamic Import)技术。动态导入使得前端开发人员能够在运行时按需加载模块,提高应用性能和用户体验。本文将介绍什么是动态导入技术,并提供使用 JavaScript 实现动态导入的示例代码,以帮助编程新手提升编程能力。
741 0
Dynamic Import 技术在 Web 前端的应用