uniapp 切换字体大小
1、单院H5模式
<template>
<page-meta :root-font-size="rootFS">
<view class="name">hello world</view>
</page-meta>
</template>
<script>
export default {
data() {
return {
rootFS: '10rpx'
}
},
created() {
setTimeout(() => {
this.rootFS = '12rpx';
}, 3000);
}
}
</script>
<style scss>
.name {
font-szie: 2.4rem;
}
</style>
2、class模式
<template>
<view :class="[isCaring ? 'caring-style' : 'default-style']">
<view class="name">hello world</view>
</view>
</template>
<script>
export default {
data() {
return {
isCaring: false
}
},
created() {
setTimeout(() => {
this.isCaring = true;
}, 3000);
}
}
</script>
<style>
.default-style {
.name {
font-size: 24rpx;
}
}
.caring-style{
.name {
font-size: 28rpx;
}
}
</style>
3、变量切换模式
<template>
<!-- css 使用 js变量 -->
<view class="homepage" :style="[fsObj]">
<view class="name">hello world</view>
</view>
</template>
<script>
export default {
data() {
return {
fsObj: { // fs对象
'--fs24': '24rpx'
}
};
},
created() {
// 通过修改 fsObj对象 切换关怀模式
setTimeout(() => {
this.fsObj = {
'--fs24': '28rpx'
};
}, 3000);
}
}
</script>
<style scss>
.homepage {
.name {
font-size: var(--fs24);
}
}
</style>
SCSS混入模式
切换字体大小时,行高是否需要修改?
<template>
<view class="name">hello world</view>
</template>
<style scss>
@mixin fs24 {
font-size: 24rpx;
line-height: 24rpx * 1.5;
}
.name {
@include fs24();
}
</style>