样式修改
文档:https://baidu.github.io/amis/zh-CN/style/index
- 使用 css helper,引用方式:https://unpkg.com/amis@latest/sdk/sdk.css
- 使用 className,大部分 amis 组件都有 className 或者 xxxClassName 的配置
- 使用 xxClassname,
- 在 page 下可以设置 cssVars 属性,通过它来动态修改 amis 内的 css 变量。
json
{
"type": "page",
"cssVars": {
"--text-color": "#CD3632",
"--primary": "#CD3632",
"--primary-onHover": "#F23F3A",
"--primary-onActive": "#BB312D"
},
"body": {
"type": "form",
"body": [
{
"type": "input-text",
"label": "文本",
"name": "text"
},
{
"type": "input-password",
"label": "密码",
"name": "password"
}
]
}
}
- 使用
wrapperCustomStyle
,如果在一个控件上配置这个参数,它会在index.html
上自动生成一个style
节点,并且在这个配置中的样式只能针对这个控件以及它的下面级别的元素,防止 css 污染。
json
{
"wrapperCustomStyle": {
".cxd-Page-aside": {
"min-width": "250px",
"width": "auto"
}
}
}
比如表单可以很细致的配置外观。
json
{
"type": "form",
"id": "u:b0a15c69803d",
"title": "表单",
"mode": "flex",
"labelAlign": "left",
"dsType": "api",
"feat": "Insert",
"body": [
{
"type": "radios",
"label": "单选框",
"name": "radios",
"options": [
{
"label": "选项A",
"value": "A"
},
{
"label": "选项B",
"value": "B"
}
],
"row": 0,
"id": "u:c18c333018dd",
"inputClassName": "p-t-xs b-danger",
"staticClassName": "m-r-none",
"className": "m-t-xs",
"itemClassName": "r-2x b-success text-success",
"labelClassName": "text-warning",
"colSize": "1/3"
},
{
"type": "input-date",
"label": "日期",
"name": "date",
"row": 0,
"id": "u:e5996b390245",
"inputClassName": "text-success",
"labelClassName": "b-danger",
"className": "b-warning r-2x",
"embed": false,
"colSize": "1/3"
}
],
"actions": [
{
"type": "button",
"label": "提交",
"onEvent": {
"click": {
"actions": [
{
"actionType": "submit",
"componentId": "u:b0a15c69803d"
}
]
}
},
"level": "primary",
"id": "u:dc9aaac3cf7f"
}
],
"resetAfterSubmit": true,
"themeCss": {
"panelClassName": {
"border:default": {
"top-border-style": "var(--borders-style-2)",
"left-border-style": "var(--borders-style-2)",
"right-border-style": "var(--borders-style-2)",
"bottom-border-style": "var(--borders-style-2)"
},
"radius:default": {
"top-right-border-radius": "var(--borders-radius-3)",
"top-left-border-radius": "var(--borders-radius-4)"
},
"background:default": "#e1e4d5"
},
"bodyControlClassName": {
"padding-and-margin:default": {
"paddingTop": "var(--sizes-size-7)"
}
},
"actionsControlClassName": {
"border:default": {
"top-border-style": "var(--borders-style-2)",
"left-border-style": "var(--borders-style-2)",
"right-border-style": "var(--borders-style-2)",
"bottom-border-style": "var(--borders-style-2)",
"top-border-color": "var(--colors-brand-6)",
"left-border-color": "var(--colors-brand-6)",
"right-border-color": "var(--colors-brand-6)",
"bottom-border-color": "var(--colors-brand-6)"
}
},
"headerControlClassName": {
"border:default": {
"top-border-style": "var(--borders-style-3)",
"left-border-style": "var(--borders-style-3)",
"right-border-style": "var(--borders-style-3)",
"bottom-border-style": "var(--borders-style-3)"
},
"padding-and-margin:default": {
"paddingTop": "var(--sizes-size-4)",
"paddingRight": "var(--sizes-size-4)",
"paddingBottom": "var(--sizes-size-4)",
"paddingLeft": "var(--sizes-size-4)"
},
"background:default": "var(--colors-neutral-text-6)"
}
},
"affixFooter": true,
"wrapWithPanel": true,
"className": "text-info text-xs font-thin",
"panelClassName": "text-dark text-muted text-base font-normal r",
"bodyClassName": "b-danger",
"actionsClassName": "text-base",
"wrapperCustomStyle": {
"root": {
"text-align": "right"
}
}
}