写了一个vue方面比较全的博客,也包括该博客内容,并进行修正,链接:

https://blog.csdn.net/weixin_42024288/article/details/82181762

首先,vue与Element-ui兼容性很好,但是Element-ui用起来样式有限,所以我们必须对其内部的css进行一定的覆盖去更改它。

我用el-input 输入框中的多行文本框的时候

<el-input
v-model="input"
rows="15"
:type="textarea"
></el-input>

发现字体始终为宋体且字号很小。于是我加了

<el-input
v-model="input"
rows="15"
:type="textarea"
style="font-size:20px;font-family:'Microsoft YaHei'"
></el-input>

依然没有任何变化。

后来想到去覆盖input默认css样式。我打开了node_modules,找到_element-ui@1.4.13@element-ui,点进去打开lib文件夹下theme-default中的input.css,这是el-input默认样式,ctrl+F搜索font-size,找到了el-textarea__inner

这个里面有默认的font-size:14px;但是不能在这上面进行修改。所以回到你的项目网页。添加如下内容:

<style>
.el-textarea__inner{
 font-family:"Microsoft";
 font-size:20px;
}
</style>

进行覆盖即可,上面控件也不用额外加class修饰。对于单行文本框也可以这样进行修改,加入el-input__inner{}即可。

最后,如果进行上述修改,会发现其他页面的样式也同时会被修改,这个时候需要用scoped和>>>符号进行穿透。

css里面写

<style scoped>
.textarea >>> .el-textarea__inner{
 font-family:"Microsoft" !important;
 font-size:20px !important;
}
</style>

<!--!important指明优先级,最好加上。-->

template里面对应去写

<el-input
class="textarea"
/* 其他属性 */
>
</el-input>

 或者

<div class="textarea">
<el-input
/* 其他属性 */
>
</el-input>
</div>

即可只改变该页面样式。要注意的一点是 新样式 和 原样式 名字不能相同,如不能.el-textarea__inner >>> .el-textarea__inner这样会出错。

GitHub 加速计划 / eleme / element
15
3
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:4 个月前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐