Element-ui 样式重写

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

写了一个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这样会出错。
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自定义Element-ui组件的样式,你可以使用以下方法: 1. 通过修改全局的CSS样式来自定义Element-ui组件的样式。你可以在项目的CSS文件中添加对应组件的类名,然后重写相应的样式规则来实现自定义样式效果。例如,如果你要自定义Table组件的表头样式,你可以给表头所在的元素添加一个类名,并在CSS文件中为这个类名定义新的样式规则。 2. 使用Element-ui提供的自定义主题功能来修改组件的样式。你可以通过在项目中创建一个新的主题文件,并在该文件中修改对应组件的样式变量来实现自定义样式效果。具体的步骤和方法可以参考Element-ui官方文档中关于自定义主题的部分。 3. 使用Element-ui提供的CSS作用域或样式作用域来限定组件样式的作用范围。Element-ui的组件在渲染时会自动添加一个唯一的class作为样式作用域,你可以通过在对应组件的父级元素上添加一个类名,并在CSS文件中使用该类名限制样式作用范围。 希望以上方法能帮助到你自定义Element-ui组件的样式。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Element-ui自定义table表头、修改列标题样式、添加tooltip、:render-header使用](https://download.csdn.net/download/weixin_38729022/12944226)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作](https://download.csdn.net/download/weixin_38542223/13125838)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值