老项目el-ui升级到el-plus。很多地方用到了size mini 现在el-plus没有mini这个尺寸配置了。有没有方法能扩展el-plus的尺寸配置呢?
试过mini换成small样式,然后再修改small.但是老项目也针对small和mini做了区分样式改动。要确保之前的页面效果就要逐一改动页面了。大家还有什么好方法吗?
老项目el-ui升级到el-plus。很多地方用到了size mini 现在el-plus没有mini这个尺寸配置了。有没有方法能扩展el-plus的尺寸配置呢?
试过mini换成small样式,然后再修改small.但是老项目也针对small和mini做了区分样式改动。要确保之前的页面效果就要逐一改动页面了。大家还有什么好方法吗?
你可以通过自定义CSS样式来扩展Element Plus的尺寸配置。你可以定义一个新的尺寸类,比如.mini
,然后将其应用到需要的小部件上。
以下是一个简单的示例,展示了如何定义一个.mini
类,并应用它到按钮小部件:
<template>
<el-button class="mini">Mini Button</el-button>
</template>
<style scoped>
.mini {
width: 80px; /* 根据需要自定义宽度 */
height: 30px; /* 根据需要自定义高度 */
}
</style>
在上面的示例中,我们通过添加.mini
类来扩展Element Plus的尺寸配置。在<style>
标签中,我们定义了.mini
类的宽度和高度,你可以根据需要自定义这些值。然后,我们将.mini
类应用到按钮小部件上,以便将其尺寸设置为自定义的大小。
你可以将此方法应用于其他Element Plus组件,只需将.mini
类应用到相应的组件上即可。请注意,自定义样式可能会影响页面的其他部分,因此请谨慎使用,并进行充分的测试。
node_modules\element-plus\theme-chalk\src
或官方仓库找到主题源码element-plus-theme
在 scss 文件中全局搜索关键词 small
/default
/large
, 可以搜到很多的尺寸代码. 我们以 element-plus-theme\checkbox.scss
中搜到的代码举例:
$checkbox-bordered-input-height: () !default;
$checkbox-bordered-input-height: map.merge(
(
'large': 14px,
'default': 12px,
'small': 12px,
),
$checkbox-bordered-input-height
);
在其中新增我们自定义的尺寸大小如下:
@forward 'element-plus/theme-chalk/src/checkbox.scss' with (
$checkbox-bordered-input-height: (
'large': 14px,
'default': 12px,
'small': 12px,
'mini': 12px, // new line
)
);
在该文件内搜索 $size
变量, 可以看到如下代码:
@each $size in (large, small) {
// snip
}
我们修改该类代码:
@each $size in (
large,
small,
mini // new line
) {
// snip
}
index.scss
时, 导入我们本地的 element-plus-theme\index.scss
即可应用修改后包含 mini
尺寸的主题样式props.size
的组件, 可以参考 组件封装 来覆盖 props.size
从而支持 size
传入 mini
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
6 回答2.3k 阅读
5 回答6.3k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
最近也在做类似的东西,不过我们是 antd,先是出了一套配置,然后基于 ast 对所以文件做替换。
当然,我们也对 antd 做了一些修改。
对于你这个问题我们就有两种选择