diff --git a/example/pages/button/index.wxml b/example/pages/button/index.wxml
index 1cfd2e3b..fcbd435c 100644
--- a/example/pages/button/index.wxml
+++ b/example/pages/button/index.wxml
@@ -14,6 +14,11 @@
朴素按钮
+
+ 细边框按钮
+ 细边框按钮
+
+
禁用状态
禁用状态
diff --git a/packages/button/README.md b/packages/button/README.md
index a5ab9a2d..b3fe192c 100644
--- a/packages/button/README.md
+++ b/packages/button/README.md
@@ -24,11 +24,22 @@
#### 朴素按钮
+通过`plain`属性将按钮设置为朴素按钮,朴素按钮的文字为按钮颜色,背景为白色
+
```html
朴素按钮
朴素按钮
```
+#### 细边框
+
+设置`hairline`属性可以开启 0.5px 边框,基于伪类实现
+
+```html
+细边框按钮
+细边框按钮
+```
+
#### 禁用状态
通过`disabled`属性来禁用按钮,此时按钮不可点击
@@ -74,6 +85,7 @@
| round | 是否为圆形按钮 | `Boolean` | `false` |
| square | 是否为方形按钮 | `Boolean` | `false` |
| disabled | 是否禁用按钮 | `Boolean` | `false` |
+| hairline | 是否使用 0.5px 边框 | `Boolean` | `false` |
| loading | 是否显示为加载状态 | `Boolean` | `false` |
| loading-text | 加载状态提示文字 | `String` | - |
| loading-size | 加载图标大小 | `String` | `20px` |
diff --git a/packages/button/index.less b/packages/button/index.less
index 8a27ed54..c10e132e 100644
--- a/packages/button/index.less
+++ b/packages/button/index.less
@@ -8,13 +8,13 @@
font-size: 16px;
line-height: 42px;
text-align: center;
- -webkit-text-size-adjust: 100%;
vertical-align: middle;
- border-radius: 2px;
box-sizing: border-box;
+ border-radius: @button-border-radius;
-webkit-appearance: none;
+ -webkit-text-size-adjust: 100%;
- &::after {
+ &::before {
position: absolute;
top: 50%;
left: 50%;
@@ -29,7 +29,12 @@
transform: translate(-50%, -50%);
}
- &--active::after {
+ // reset weapp default border
+ &::after {
+ border-width: 0;
+ }
+
+ &--active::before {
opacity: 0.15;
}
@@ -125,7 +130,7 @@
}
&--round {
- border-radius: 10em;
+ border-radius: @button-round-border-radius;
}
&--square {
@@ -141,4 +146,23 @@
display: inline-block;
vertical-align: middle;
}
+
+ &--hairline {
+ border-width: 0;
+ padding-top: 1px; // add 1px padding for text vertical align middle
+
+ &::after {
+ border-width: 1px;
+ border-color: inherit;
+ border-radius: @button-border-radius * 2;
+ }
+
+ &.van-button--round::after {
+ border-radius: @button-round-border-radius;
+ }
+
+ &.van-button--square::after {
+ border-radius: 0;
+ }
+ }
}
diff --git a/packages/button/index.ts b/packages/button/index.ts
index 4232af3e..ae949014 100644
--- a/packages/button/index.ts
+++ b/packages/button/index.ts
@@ -13,6 +13,7 @@ VantComponent({
round: Boolean,
square: Boolean,
loading: Boolean,
+ hairline: Boolean,
disabled: Boolean,
loadingText: String,
type: {
diff --git a/packages/button/index.wxml b/packages/button/index.wxml
index 3d56d448..0b0763ad 100644
--- a/packages/button/index.wxml
+++ b/packages/button/index.wxml
@@ -2,7 +2,7 @@