预设样式
VEUI 组件通过 ui
属性为组件提供预设样式。不同主题包可以为每个组件提供不同的 ui
值进行扩展,用户也可以自定义 ui
值及其样式来给 VEUI 组件扩展预设样式。
ui
属性
ui
属性是一个空格分隔的字符串,类似 HTML 原生的 class
属性。其中每一项都代表组件的一种预设样式,像下面的例子中,primary
和 large
都定义了 <veui-button>
组件的某个预设样式:
<veui-button ui="primary large">OK</veui-button>
使用 DLS 主题
使用 veui-loader
的相应配置,即可在 VEUI 中加载 veui-theme-dls
主题包。主题包为很多组件提供了不同维度的可选预设样式,可以参考每个组件对 ui
属性的说明来查阅组件支持的预设样式。
自定预设样式
新增自定义的 ui
项无需通过组件接口进行注册,只需要在样式文件中针对 [ui~="..."]
选择器添加相应样式即可。
比如:要为 Button
组件新增一个 secondary
的样式,只需为 .veui-button[ui~="secondary"]
编写样式就可以实现。
<template>
<article>
<veui-button ui="primary">
Primary
</veui-button>
<veui-button ui="secondary">
Custom
</veui-button>
</article>
</template>
<script>
import { Button } from 'veui'
export default {
components: {
'veui-button': Button
}
}
</script>
<style lang="less" scoped>
.veui-button {
width: 120px;
margin-right: 1em;
}
.veui-button[ui~="secondary"] {
background-color: #e5e5ff;
&:hover {
background-color: #ddf;
}
&:active {
background-color: #ccf;
}
}
</style>
自定义主题包
关于自定义主题包的开发,可以参考高级 › 主题来了解更多 VEUI 对主题包的约定接口以及更多自定义 ui
属性的高级方法。