使用rem,使字体大小自适应屏幕

本文介绍了CSS3中的rem单位,它允许相对HTML根元素设置字体大小,从而实现整体比例的布局调整。通过示例代码展示了如何根据屏幕宽度动态设置字体大小,确保在不同设备上具有良好的可读性和自适应性。同时,通过监听窗口resize事件,实现了字体大小随屏幕尺寸变化的实时响应。
摘要由CSDN通过智能技术生成

rem是CSS3新增的一个相对单位(root em,根em)。这个单位与em区别在于使用rem为元素设 定字体大小时,仍然是相对大小,但相对的只是HTML根元素。这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

将以下代码放在入口文件,即可使字体大小自适应屏幕大小

function resize() {
  let doc = document.documentElement   //返回文档的根节点
  let width = doc.clientWidth  //获取浏览器窗口文档显示区域的宽度,不包括滚动条
  let ratio = width / 375  //将屏幕分为375份(当屏幕为375px时,ratio=1px)
  let fontSize = 10 * ratio //乘10,(当屏幕为375px时,fontSize=10px)
  if (fontSize > 20) fontSize = 20  //当屏幕为大于等于750px时,fontSize均等于20px
  doc.style.fontSize = fontSize + 'px' //加上单位
}
// 监听resize事件,调整窗口大小,感受rem的作用,这里只考虑竖屏的情况
window.onresize = resize   //window.onresize监听div和屏幕的改变
resize() //调用函数修改fontSize的值(1rem=fontSize)
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML使用 postcss-pxtorem 实现自适应屏幕的步骤如下: 1. 安装 postcss-pxtorem 插件: 可以使用 npm 安装:`npm install postcss-pxtorem --save-dev` 2. 在项目中创建 postcss.config.js 文件: 在项目根目录下新建一个 postcss.config.js 文件,用于配置 postcss-pxtorem 插件。 ```javascript module.exports = { plugins: { "postcss-pxtorem": { rootValue: 16, // 根字体大小,16px 为默认值 propList: ["*"] // 需要转换的 CSS 属性,默认为 ['*'] } } }; ``` 3. 在项目中安装并使用 postcss-loader: postcss-loader 可以帮助我们在构建项目时自动运行 postcss 插件。 可以使用 npm 安装:`npm install postcss-loader --save-dev` 在 webpack 配置文件中添加 postcss-loader: ```javascript module.exports = { module: { rules: [ { test: /\.css$/, use: [ "style-loader", "css-loader", { loader: "postcss-loader", options: { ident: "postcss", plugins: [require("postcss-pxtorem")()] } } ] } ] } }; ``` 4. 在 CSS使用 px 单位编写样式: 在 CSS使用 px 单位编写样式,postcss-pxtorem 插件会自动将其转换为 rem 单位。 例如,假设设计稿中某个元素的宽度为 100px,那么在 CSS 中可以这样写: ```css .box { width: 100px; } ``` 在 postcss-pxtorem 插件的转换下,该样式会被转换为: ```css .box { width: 6.25rem; /* 假设根字体大小为 16px */ } ``` 通过以上步骤,就可以在 HTML使用 postcss-pxtorem 实现自适应屏幕了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值