Border
简易介绍
Border 组件用于为元素添加边框样式,支持多种边框风格、颜色和方向。 可以使用<MYBorder></MYBorder>或者<MYBorder />可以实现边框的配置。
关于基本边框
borderStyle
使用 borderStyle 定义边框的基本样式。
默认为黑色,此处使用borderColor配了个清晰的颜色。
borderWidth
使用 borderWidth 定义边框的厚度,默认为 1px。此处使用borderColor配了个清晰的颜色。
borderColor
使用 borderColor 定义边框的颜色。默认值为黑色,此处使用borderStyle配了borderStyle="dashed"。
边框方向
可以为边框的每个方向单独设置颜色。当然也可以单独设置一个方向的颜色,单独设置后,边框默认的颜色会变成白色。
边框内容居中
使用 center 将边框中的内容居中。此处使用borderColor配了个清晰的颜色。
边框圆角
使用 round 属性为边框添加圆角。此处使用borderColor配了个清晰的颜色。为了效果更直观这里使用了paddingText移动了文本的位置。
边框圆形
使用 circle 属性将边框变为圆形。此处使用borderColor配了个清晰的颜色。为了效果更直观这里使用了paddingText移动了文本的位置。
边框内部背景颜色
使用 colorBg 设置边框内部的背景色。
边框内部文本颜色
使用 textColor 设置边框内文本的颜色。
阴影
使用 boxShadow 为边框添加阴影效果。他的使用方式和原生css的box-shadow属性用法一致。
自定义宽高
使用width和height属性进行宽高的设置。为了效果更直观这里使用了paddingText和borderColor移动了文本的位置和设置颜色。这个宽和高也可以单独使用。
边框内容与边框之间距离
使用paddingText设置边框内容与边框之间的距离,其效果相当于原生css的padding属性。也与css原生的padding使用方法是一致的。
最后,下面为多种进行组合使用:
注意:
· 如果使用了边框方向设置了颜色,那么
borderStyle和borderWidth会被覆盖,使borderStyle不再生效。
·borderColor和边框方向的颜色值同时设置了,那么边框方向会覆盖borderColor设置的颜色。所以它们指南同时使用一种样式。
· 如果设置了cricle,round将不会生效,cricle和round只能同时使用一种样式。
API 参考
Props
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| borderStyle | 边框样式 | string | solid/dashed/dotted/double | solid |
| borderWidth | 边框厚度 | string | px/rem/vh/vw | 1px |
| borderColor | 边框颜色 | string | 支持16进制颜色或单词颜色 | — |
| topColor | 上边框颜色 | string | 支持16进制颜色或单词颜色 | — |
| bottomColor | 下边框颜色 | string | 支持16进制颜色或单词颜色 | — |
| leftColor | 左边框颜色 | string | 支持16进制颜色或单词颜色 | — |
| rightColor | 右边框颜色 | string | 支持16进制颜色或单词颜色 | — |
| round | 是否为圆角 | boolean | — | false |
| circle | 是否为圆形 | boolean | — | false |
| colorBg | 背景色 | string | 支持16进制颜色或单词颜色 | — |
| textColor | 文本颜色 | string | 支持16进制颜色或单词颜色 | — |
| boxShadow | 阴影效果 | string | 支持所有CSS阴影格式 | — |
| width | 边框宽度 | string | px/rem/vh/vw | — |
| height | 边框高度 | string | px/rem/vh/vw | — |
| paddingText | 内容与边框间距 | string | px/rem/vh/vw | — |
| tag | 渲染标签 | string | 支持所有 HTML 标签 | div |
类型定义
interface BorderProps {
borderStyle?: 'solid' | 'dashed' | 'dotted' | 'double';
borderWidth?: string;
borderColor?: string;
topColor?: string;
bottomColor?: string;
leftColor?: string;
rightColor?: string;
round?: boolean;
circle?: boolean;
colorBg?: string;
textColor?: string;
boxShadow?: string;
width?: string;
height?: string;
paddingText?: string;
tag?: string;
}