国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uniapp實現(xiàn)全局設置字體大小,實現(xiàn)小中大的字體切換

這篇具有很好參考價值的文章主要介紹了uniapp實現(xiàn)全局設置字體大小,實現(xiàn)小中大的字體切換。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、效果圖

uniapp實現(xiàn)全局設置字體大小,實現(xiàn)小中大的字體切換

二、原理解析

要實現(xiàn)文字大小的動態(tài)切換,考慮到使用rem機制。只需要通過修改根節(jié)點的font-size值,就能改變文字呈現(xiàn)出來的大小

但是一般我們的項目始用的都是px或rpx單位,全局修改單位未免不現(xiàn)實。所以這里用到了postcss-px-to-viewport插件。
postcss-px-to-viewport可以幫助我們把項目的單位進行統(tǒng)一的轉(zhuǎn)換,且不需要改動源代碼。

所以思路為:

  1. 利用postcss-px-to-viewport把單位全部轉(zhuǎn)換為rem
  2. 把根節(jié)點font-size值寫入vuex中。
  3. 實現(xiàn)字體大小設置頁面。修改大小后,要把值寫入緩存和vuex。
  4. APP啟動時,從緩存里讀取上次設置的fontSize值,賦值給vuex_fontsize。
  5. 其他需要被控制大小的頁面,頂部添加代碼:
    <page-meta :page-font-size="vuex_fontsize+'px'" :root-font-size="vuex_fontsize+'px'"></page-meta>
    

(說明:寫進緩存是為了下次進入頁面時還能保留上次設置的值,寫進vuex中是為了可以響應式修改。)

三、代碼實現(xiàn)

(一)、安裝和配置postcss-px-to-viewport

1、安裝命令:

	npm install postcss-px-to-viewport --save-dev

2、根目錄下創(chuàng)建一個 postcss.config.js文件,文件內(nèi)容如下:

const path = require('path')
module.exports = {
  parser: 'postcss-comment',
  plugins: {
    'postcss-import': {
      resolve(id, basedir, importOptions) {
        if (id.startsWith('~@/')) {
          return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
        } else if (id.startsWith('@/')) {
          return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
        } else if (id.startsWith('/') && !id.startsWith('//')) {
          return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
        }
        return id
      }
    },
    'autoprefixer': {
      overrideBrowserslist: ["Android >= 4", "ios >= 8"],
      remove: process.env.UNI_PLATFORM !== 'h5'
    },
    // 借助postcss-px-to-viewport插件,實現(xiàn)px轉(zhuǎn)rem,文檔:https://github.com/evrone/postcss-px-to-viewport/blob/master/README_CN.md
    // 以下配置,可以將px轉(zhuǎn)換為rem,如果要調(diào)整比例,可以調(diào)整 viewportWidth 來實現(xiàn)
    'postcss-px-to-viewport': {
      unitToConvert: 'px', // 需要轉(zhuǎn)換的單位。我這里是px,如果你的項目都是用的rpx,就改成rpx
      viewportWidth: 1800,// 密度,一般為750 || 375。這里可以自己修改
      unitPrecision: 5,
      propList: ['*'],
	  viewportUnit: "rem", // 指定需要轉(zhuǎn)換成的視窗單位,默認vw
      fontViewportUnit: 'rem', // 字體需要轉(zhuǎn)成的單位,只針對 font-size 屬性
      selectorBlackList: [],
      minPixelValue: 1,
      mediaQuery: false,
      replace: true,
      exclude: undefined,
      include: undefined,
      landscape: false
    },
    '@dcloudio/vue-cli-plugin-uni/packages/postcss': {}
  }
}

(二)在vuex里定義vuex_fontsize

在你的store存儲里添加變量,我設置的是

vuex_fontsize: 18.75	//數(shù)值根據(jù)自己項目調(diào)整

(三)實現(xiàn)字體設置頁面

利用滑塊,設置font-size的值。點擊確定后,要把所設置的值寫入vuex_fontsize和緩存里。

<template>
	<page-meta :page-font-size="fontValue+'px'" :root-font-size="fontValue+'px'"></page-meta>
	<view class="content">
		<view>
			<view class="fontchange">文字大小</view>
		</view>
		<view style="width:100%;padding: 0 10px;">
			<slider
				:min="16.25"
				:max="21.25"
				:value="fontValue"
				@change="sliderChange"
				:step="2.5"
			/>
			<view class="change-fontsize-box">
				<text style="font-size: 12px;">
					最小
				</text>
				<text style="font-size: 14px;">
					標準
				</text>
				<text style="font-size: 16px;">
					最大
				</text>
			</view>
		</view>
		<view style="padding: 20px 10px;width: 100%;">
			<u-button type="primary" @click="submit">確定</u-button>
		</view>
	</view>
</template>
 
<script>
export default {
	data() {
		return {
			fontValue: 18.75,
		};
	},
	onShow() {
		this.fontValue = this.vuex_fontsize;
	},
	methods: {
		sliderChange(e) {
			this.fontValue = e.detail.value;
		}
		submit() {
			this.$u.vuex('vuex_fontsize', this.fontValue);
			uni.setStorageSync("fontSize", this.vuex_fontsize);
			uni.showToast({
				title: '設置成功',
				icon:'none',
				duration: 1500
			});
		},
	},
};
</script>
 
<style>
.fontchange {
	font-size: 0.8rem;
	margin: 20px 0;
}
.content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 5px;
	box-sizing: border-box;
}
.change-fontsize-box{
	margin: 10px 18px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
</style>

(四)App啟動時,讀取緩存值,賦值給vuex_fontsize

修改App.vue文件,添加以下代碼

onLaunch: function() {
	//讀取Storage里的字體大小
	let fontsize = uni.getStorageSync("fontSize")
	if (fontsize) {
		this.$u.vuex('vuex_fontsize',  fontsize);
	}
}

(五)其他頁面引用

在需要用到的頁面加上page-meta。如果是全局修改,就需要全部頁面都加上這。

<template>
	<page-meta :page-font-size="vuex_fontsize+'px'" :root-font-size="vuex_fontsize+'px'"></page-meta>
	<view>
		...
	</view>
</template>

開發(fā)者工具可以看到根節(jié)點html的font-size值可以被成功設置,且頁面元素的單位都是rem。大功告成~
uniapp實現(xiàn)全局設置字體大小,實現(xiàn)小中大的字體切換文章來源地址http://www.zghlxwxcb.cn/news/detail-480778.html

到了這里,關于uniapp實現(xiàn)全局設置字體大小,實現(xiàn)小中大的字體切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • VSCode設置鼠標滾輪滑動設置字體大小

    1:打開\\\"文件-首選項-設置 2 :打開settings.json文件 英文版這里有個坑 一般點擊我下圖右上角那個{ } 就可以打開了 在 設置的json 文件中加入如下 “editor.mouseWheelZoom”: true { “editor.mouseWheelZoom”: true, “json.schemas”: [ }

    2024年02月13日
    瀏覽(94)
  • IDEA 設置字體大小無效

    IDEA 設置字體大小無效

    設置字體大小,一般都是從file=settings=editor=font=Size里設置,一般都有效。 ? 但是,如果是更換了主體,則需要從主體顏色菜單那里這是,你看這個頁面,上面黃色三角也提示你了,要去顏色主體菜單去設置,進入同級目錄:Editor=Color Scheme,然后修改Font,APPLY之后就生效了。

    2024年02月13日
    瀏覽(87)
  • wangEditor 初始化設置行高、字體和字體大小

    wangEditor 設置字體大小16px、字體微軟雅黑、行高1.5 wangEditor 配置完整代碼

    2024年02月13日
    瀏覽(68)
  • java easyPOI導出一對多數(shù)據(jù),設置邊框,字體,字體大小

    java easyPOI導出一對多數(shù)據(jù),設置邊框,字體,字體大小

    java easyPOI導出一對多數(shù)據(jù),設置邊框,字體,字體大小 需求總是千奇百怪,解決的方式也可以是多種多樣。 今天碰到導出excel是一對多結構的,以往導出的數(shù)據(jù)都是一條一條的,所以采用的是比較方便簡單的方法easyExcel,今天猛然碰到一對多導出雖然用easyExcel也可以,但是相

    2024年01月21日
    瀏覽(18)
  • eclipse設置字體大小調(diào)整的方法

    eclipse設置字體大小調(diào)整的方法

    要在 Eclipse 中調(diào)整字體大小,可以按照以下步驟進行操作: ?? 打開 Eclipse,進入菜單欄 Window - Preferences。 在 Preferences 窗口中,選擇 General - Appearance - Colors and Fonts。 在 Colors and Fonts 窗口中,展開 Basic - Text Font。 雙擊 Text Font 下拉菜單中選擇字體大小。 在字體窗口中,可以更

    2024年02月11日
    瀏覽(55)
  • latex插入表格,并且設置字體大小

    latex插入表格,并且設置字體大小

    運行效果: 這樣可以使得表格高度適中,并且表格內(nèi)的字體全部上下左右居中顯示。

    2024年02月11日
    瀏覽(20)
  • wps設置一鍵標題字體和大小

    wps設置一鍵標題字體和大小

    wps設置一鍵標題字體和大?。篽ttps://www.kafan.cn/A/7v5le1op3g.html 統(tǒng)一一鍵設置

    2024年02月12日
    瀏覽(21)
  • idea設置字體大小快捷鍵 Ctrl+鼠標上下滑 字體快捷鍵縮放設置

    idea設置字體大小快捷鍵 Ctrl+鼠標上下滑 字體快捷鍵縮放設置

    雙擊 按住ctrl+鼠標滑輪上劃放大就好了 這個雙擊設置為,Ctrl+鼠標下滑 字體縮小就好了

    2024年02月02日
    瀏覽(99)
  • IntelliJ IDEA 字體大小設置(有三處地方設置)!!!

    IntelliJ IDEA 字體大小設置(有三處地方設置)!!!

    問題 :有的電腦屏幕較大?IDEA默認字體就顯的較小?想把字體調(diào)大一些 但是又找不到在哪! 答:其實IDEA有三處改修字體的設置!!! 廢話不多說直接開始 第一處 先打開FileSettings 這一步是設置左邊項目的 字體 和 大小! 第二處? ?這里是修改你打代碼的 字體 和 大小! 但是有的同學可

    2024年02月13日
    瀏覽(89)
  • Eclipse字體大小設置的5個步驟

    Eclipse是一款非常流行的Java集成開發(fā)環(huán)境(IDE),它被廣泛地用于開發(fā)Java應用程序。在Eclipse中,字體大小對于用戶體驗至關重要。因此,了解如何在Eclipse中設置字體大小是非常有用的。 1、打開Eclipse 首先,打開Eclipse IDE。如果Eclipse未能正常啟動,請按照Eclipse的安裝指南進行操

    2024年02月07日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包