| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 | @import '../style/var';.van-button {  position: relative;  display: inline-block;  box-sizing: border-box;  height: @button-default-height;  margin: 0;  padding: 0;  font-size: @button-default-font-size;  line-height: @button-default-line-height;  text-align: center;  border-radius: @button-border-radius;  cursor: pointer;  transition: opacity @animation-duration-fast;  -webkit-appearance: none;  &::before {    position: absolute;    top: 50%;    left: 50%;    width: 100%;    height: 100%;    background-color: @black;    border: inherit;    border-color: @black;    border-radius: inherit; /* inherit parent's border radius */    transform: translate(-50%, -50%);    opacity: 0;    content: ' ';  }  &:active::before {    opacity: 0.1;  }  &--loading,  &--disabled {    &::before {      display: none;    }  }  &--default {    color: @button-default-color;    background-color: @button-default-background-color;    border: @button-border-width solid @button-default-border-color;  }  &--primary {    color: @button-primary-color;    background-color: @button-primary-background-color;    border: @button-border-width solid @button-primary-border-color;  }  &--info {    color: @button-info-color;    background-color: @button-info-background-color;    border: @button-border-width solid @button-info-border-color;  }  &--danger {    color: @button-danger-color;    background-color: @button-danger-background-color;    border: @button-border-width solid @button-danger-border-color;  }  &--warning {    color: @button-warning-color;    background-color: @button-warning-background-color;    border: @button-border-width solid @button-warning-border-color;  }  &--plain {    background-color: @button-plain-background-color;    &.van-button--primary {      color: @button-primary-background-color;    }    &.van-button--info {      color: @button-info-background-color;    }    &.van-button--danger {      color: @button-danger-background-color;    }    &.van-button--warning {      color: @button-warning-background-color;    }  }  &--large {    width: 100%;    height: @button-large-height;  }  &--normal {    padding: 0 15px;    font-size: @button-normal-font-size;  }  &--small {    height: @button-small-height;    padding: 0 @padding-xs;    font-size: @button-small-font-size;  }  &__loading {    color: inherit;    font-size: inherit;  }  &--mini {    height: @button-mini-height;    padding: 0 @padding-base;    font-size: @button-mini-font-size;    & + .van-button--mini {      margin-left: @padding-base;    }  }  &--block {    display: block;    width: 100%;  }  &--disabled {    cursor: not-allowed;    opacity: @button-disabled-opacity;  }  &--loading {    cursor: default;  }  &--round {    border-radius: @button-round-border-radius;  }  &--square {    border-radius: 0;  }  // align-items are ignored when flex container is a button in legacy safari  // see: https://bugs.webkit.org/show_bug.cgi?id=169700  &__content {    display: flex;    align-items: center;    justify-content: center;    height: 100%;    // fix icon vertical align    // see: https://github.com/vant-ui/vant/issues/7617    &::before {      content: ' ';    }  }  &__icon {    font-size: 1.2em;    line-height: inherit;  }  &__icon + &__text,  &__loading + &__text,  &__text + &__icon,  &__text + &__loading {    margin-left: @padding-base;  }  &--hairline {    border-width: 0;    &::after {      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;    }  }}
 |