我正在开发一个Vue3/Laravel8
应用程序,它必须支持english
和arabic
语言。问题是en
和ar
语言环境之间存在巨大的字体大小差异:
我已经寻找了一段时间来改变arabic font-size
,但看起来并不简单。
首先,我试图在vue-i18n
中找到一种方法,但没有成功。如果可能的话,这将是最方便的。
然后我尝试了CSS
路线,使用:lang(ar)
选择器,但它依赖于html
,或者在我的情况下是laravel.blade
,控制项目语言似乎是一件麻烦的事情,创建中间件和控制器。
有什么方便的方法可以做到这一点吗?
发布于 2021-10-26 23:09:42
Vue 3.2为单文件组件(SFC)引入了一些新特性:https://v3.vuejs.org/api/sfc-style.html#state-driven-dynamic-css
因此,在您的情况下,您可以尝试如下所示(未经测试):
<template>
<div class="text">hello</div>
</template>
<script>
export default {
data() {
return {
lang: 'en',
},
},
computed() {
fontSize() {
if (this.lang === 'ar') {
return '1.5em';
}
return '1em';
},
},
}
</script>
<style>
.text {
font-size: v-bind(fontSize);
}
</style>
https://stackoverflow.com/questions/69733652
复制相似问题