在vue项目中使用postcss-px2rem插件把px转变为rem,并配合给html根元素设置fontsize,来实现页面的自适应效果

这篇具有很好参考价值的文章主要介绍了在vue项目中使用postcss-px2rem插件把px转变为rem,并配合给html根元素设置fontsize,来实现页面的自适应效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装postcss-px2rem插件,目的:把px转变为rem

npm install postcss-px2rem -S

vue.config.js中配置remUnit

const port = process.env.port || 8081 // 端口
module.exports = {
	devServer: {
		host: '0.0.0.0',
		port: port,
		open: true,
	},
	css: {
		loaderOptions: {
			css: {},
			postcss: {
				plugins: [
					require('postcss-px2rem')({
						remUnit: 100
					})
				]
			}
		}
	}
}
一直不太明白为什么remUnit设置为100,通过项目中不断的改变remUnit值,

发现这里remUnit值是为了把px转换成rem的计算值,

即remUnit=100,

则1rem=100px,1px=0.01rem

当项目中我们在css样式中设置width:750px时,经过[postcss-px2rem]这个插件转换
remStyle:转换后的值(单位:rem)

pxStyle:转换前的值(单位:px)

remStyle=(pxStyle/remUnit)+'rem'

得到:width:7.5rem

通过js改变html的fontsize值

<script type="text/javascript">
			function getHtmlFontSize() {
				//获取设备宽度
				let deviceWidth = document.documentElement.clientWidth || window.innerWidth;
				console.log("[设备宽度]", deviceWidth);
				if (deviceWidth >= 750) {
					deviceWidth = 750;
				} else if (deviceWidth <= 320) {
					deviceWidth = 320;
				}
				//设置html的字体大小为:1rem=100px;以设计原型750,如果设计稿是640px,font-size=100px,则为deviceWidth/6.4
				document.documentElement.style.fontSize = (deviceWidth / 7.5) + 'px';
			}
			getHtmlFontSize();
			window.addEventListener("resize", getHtmlFontSize)
		</script>

postcss-px2rem插件不能把行内样式进行pxTorem的转换

文章来源地址https://www.toymoban.com/news/detail-600341.html

到了这里,关于在vue项目中使用postcss-px2rem插件把px转变为rem,并配合给html根元素设置fontsize,来实现页面的自适应效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue中使px自动转rem配置 (h5适配问题)

    以下方法为px自动转换rem,顾名思义,配置完成后,不用再关心rem换算等等,只需按照设计稿的px值写入即可,当你保存后 PostCSS 插件会自动将px转换成所配置的rem值,并且你在浏览控制台观测界面时你会发现你在代码里写的是px单位,在控制台被转换成了rem单位。 postcss 一种

    2024年01月22日
    浏览(73)
  • vite项目 postcss-px-to-viewport适配vant

    关于vite项目postcss-px-to-viewport适配vant的问题,网上很多文章都已经过时或者都是基于webpack的配置,很少vite相关的配置教程,故做一下笔记希望帮到正在踩坑的同学。 postcss-px-to-viewport插件已经抛弃使用请使用postcss-px-to-viewport-8-plugin (项目运行时会提示已弃用) 已经安装po

    2024年02月13日
    浏览(39)
  • 【前端可视化】postcss-px-to-viewport 适配怎么限制最大宽度?使用 postcss-mobile-forever

    自己用 nuxt3 写官网发现用 postcss-px-to-viewport 这个插件虽然能够实现基于 vw 的响应式,但是无法做到限制宽度,比如设计稿 1920p,我只想让最大缩放比例为 1920p,不能超过,就无法实现了。 纯 css 的话,有两个办法,一种用 px 生成两套代码,一套移动端的 vw 视图,一套最大宽

    2024年01月24日
    浏览(44)
  • 详解CSS中单位PX和EM,REM的区别PX特点EM特点 REM特点

    国内的设计师大都喜欢用px,而国外的网站大都喜欢用em和rem,那么三者有什么区别,又各自有什么优劣呢? PX特点 IE无法调整那些使用px作为单位的字体大小; 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位; Firefox能够调整px和em,rem,但是96%以上的中国

    2024年02月16日
    浏览(42)
  • 【CSS】 vh、rem 和 px 的区别

    vh、rem 和 px 都是 CSS 中常见的长度单位,它们有以下区别: px(像素)是一个绝对单位,表示屏幕上的实际像素点。它的大小不会根据设备或浏览器的设置进行调整,是一个固定值。 rem(根元素字体大小的倍数)是一个相对单位,相对于根元素(通常是 html 元素)的字体大小

    2024年02月15日
    浏览(46)
  • 前端页面适配之postcss-px-to-viewport

    一:简介 postcss-px-to-viewport  是一个 PostCSS 插件,用于将 CSS 中的 px 单位转换为 vw 或 vh 单位。它可以帮助我们实现在不同屏幕尺寸下的自适应布局,以提高页面的响应性和可用性。 二:postcss-px-to-viewport原理 遍历 CSS 文件中的所有样式规则,找到其中所有的 px 单位值。 将每

    2024年02月05日
    浏览(35)
  • 一文搞懂:viewpoint与rem、百分比、px

    ​一个表总结: 名称 定义 使用示例 viewpoint 是指用户在网页上实际可见和可交互的区域,通常指的是浏览器窗口或移动设备的屏幕尺寸。 width:100vw;height:100vh rem (root em)是相对于根元素(通常是 html 元素)的字体大小来计算的单位。 width:100rem;height:100rem 百分比 是

    2024年03月19日
    浏览(51)
  • postcss插件使用和适配方案

    使用 postcss-px-to-viewport 插件解决移动端的适配方案。 原理是将固定的像素单位(px)转换为根据视窗大小缩放的单位(vw|vh),该插件实现的就是这一单位间的转化。 参考网址: postcss-px-to-viewport 中文文档: https://github.com/evrone/postcss-px-to-viewport/blob/master/README_CN.md 该项目使用vue3+

    2024年02月09日
    浏览(32)
  • 1-07 React配置postcss-px-to-viewport

    移动端适配 安装依赖:在项目根目录下运行以下命令安装所需的依赖包: 配置代码 重新启动开发服务器:如果你的开发服务器正在运行,请重新启动它以应用新的配置。 之后当我们写px时会自动转换成vm单位

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包