index.html
Ajouter en tête du fichier d'entrée
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
Écrire une méthode pour surveiller le changement de taille de la fenêtre
resizeListener(){
// 定义设计图的尺寸 1920
let designSize = 1920;
// 获取 html 元素
let html = document.documentElement;
// 定义窗口的宽度
let clientW = html.clientWidth;
// html 的fontsize 大小
let htmlRem = clientW * 100 / designSize;
html.style.fontSize = htmlRem + 'px';
}
Ajouter la méthode ci-dessus à la fonction de cycle de vie de React
// 在第一次渲染后调用
componentDidMount(){
window.addEventListener('resize', this.resizeListener);
this.resizeListener();
}
// 在组件从 DOM 中移除之前立刻被调用
componentWillUnmount(){
window.removeEventListener('resize', this.resizeListener);
}
J'ai ajouté un peu de jugement dans le projet
car je veux que la
taille de la police font-szie
soit légèrement plus grande lorsque la fenêtre devient plus petite.
Si vous avez une meilleure solution, vous pouvez me laisser un message ou un message privé. Merci beaucoup.
Je ne sais pas si je vais le faire pour le moment. Il y a d'autres problèmes
resizeListener(){
// 定义设计图的尺寸 1920
let designSize = 1920;
// 获取 html 元素
let html = document.documentElement;
// 定义窗口的宽度
let clientW = html.clientWidth;
let sizeNum = 100;
if(clientW <= 1360){
sizeNum = 130
}else if(clientW <= 1400){
sizeNum = 120
}else if(clientW <= 1600){
sizeNum = 110
}
// html 的fontsize 大小
let htmlRem = clientW * sizeNum / designSize;
html.style.fontSize = htmlRem + 'px';
}
Calcul font-size
logique est la suivante :
si le dessin est 1920
mise à html
la font-size
valeur de 100
ce qui est, lorsque la fenêtre 1920px
tandis que 1rem = 100px
si un composant de l'ensemble font-size
est 18px
alors rem
la valeur est définie .18rem
lorsque la fenêtre est adaptée à la non-conception 1920
largeur de html
la font-size
valeur sera un correspondant Changer
cela peut être vu dans l'impression de la console