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 @@