font-size有关rem的适配 -无需使用JavaScript代码进行多设备的适配

本文介绍了如何利用CSS的rem单位和@media查询来实现不同设备的响应式布局,确保文字阅读体验。通过设置不同宽度阈值下的根字体大小,以及结合vw单位与calc()函数,可以动态调整字号,适应多种屏幕尺寸。同时,讨论了rem单位可能存在的渲染问题,并提供了相应的解决策略。
摘要由CSDN通过智能技术生成

面对不同设备的适配与响应;这里介绍不同的是@media规则进行匹配不同的设备;

不同的设备宽度不尽相同,尺寸有320px,360px,375px,414px…等常见的宽度,面对在不同的尺寸环境下,文字的阅读体验问题,我们常常使用的是CSS单位 - rem
*其中“r“代表的是root的意思,在HTML网页中,root指的就是<html>元素,正如CSS伪类:root的目标元素和html属性选择器一样;*例如:

html {
	font-size: 16px; // 1rem = 16px
}

使用rem的基础,可衍生出下面的俩种方法
(1). 可使用@media设定临界点,来设置字号,代码如下:

html {
	font-size: 16px;
}
@media (min-width: 414px) {
	html {
		font-size: 18px;
	}
}
@media (min-width: 600px) {
	html {
		font-size: 20px;
	}
}

(2).头部嵌入javaScript代码,根据屏幕尺寸设置对应的根字号大小;

document.documentElement.style.width = document.documentElement.clientWidth / 7.5 + 'px';

社区的相对单位

  • vw 社区宽度百分值
  • vh 社区高度的百分值

calc()函数下的最佳实践

结合vw单位与calc()函数进行计算,无需使用任何的JavaScript代码,可实现基于设备宽度的移动端布局;代码如下:

html {
	font-size: 16px;
}
@media (min-width: 375px) {
	html {
		/* 375px作为16px的基准,414px宽度时正好对应18px的根字号大小 */
		font-size: calc(16px + 2 * (100vw - 375px) / 39);
	}
}
// 如果设备是414px, 100vw == 414px;根字号为18px
@media (min-width: 414px) {
	html {
		/* 414px作为18px的基准,根字号大小累加增加4px (18px - 22px) */
		font-size: calc(18px + 4 * (100vw - 414px) / 586);
	}
}
@media (min-width: 1000px) {
	html {
		/* 屏幕宽度从1000px往后每增加100px,根字号大小就增加0.5px */
		font-size: calc(22px + 5 * (100vw - 1000px) / 1000);
	}
}

声明:rem单位并不是万能的,首先主要的问题是尺寸并不总是整数的问题;在个别的屏幕下会出现渲染问题,例如:边缘出现奇怪的间隙,渲染高度误差及模糊的问题;但这些都是极小的问题体验,可控的范围内处理;rem还是不错的适配之选;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值