_buttons.scss 2.02 KB

@mixin generate-button-colors($textColor, $backgroundColor) {
  background-color: $backgroundColor;
  color: $textColor;
  &:hover {
    background-color: lighten($backgroundColor, 8%);
    box-shadow: $bs-med;
    text-decoration: none;
    color: $textColor;
  }
  &:active {
    background-color: darken($backgroundColor, 8%);
  }
}

// Button Specific Variables
$button-border-radius: 3px;

.button-base {
  text-decoration: none;
  font-size: $fs-m;
  line-height: 1.4em;
  padding: $-xs $-m;
  margin: $-xs $-xs $-xs 0;
  display: inline-block;
  border: none;
  outline: 0;
  border-radius: $button-border-radius;
  cursor: pointer;
  transition: all ease-in-out 80ms;
  box-shadow: 0 0 0 0 #000;
  @include generate-button-colors(#EEE, $primary);
}

.button, input[type="button"], input[type="submit"]  {
  @extend .button-base;
  &.pos {
    @include generate-button-colors(#EEE, $positive);
  }
  &.neg {
    @include generate-button-colors(#EEE, $negative);
  }
  &.secondary {
    @include generate-button-colors(#EEE, $secondary);
  }
  &.muted {
    @include generate-button-colors(#EEE, #888);
  }
}

.button-group {
  @include clearfix;
  .button, button[type="button"] {
    margin: $-xs 0 $-xs 0;
    float: left;
    border-radius: 0;
    &:first-child {
      border-radius: $button-border-radius 0 0 $button-border-radius;
    }
    &:last-child {
      border-radius: 0 $button-border-radius $button-border-radius 0;
    }
  }
}

.button.block {
  width: 100%;
  text-align: center;
  display: block;
}

// Floating action button
//.fab {
//  $size: 70px;
//  button.button {
//    border-radius: 100%;
//    width: $size;
//    height: $size;
//    font-size: 48px;
//    text-align: center;
//    margin: 0;
//    padding: 0;
//    border: 0;
//    box-shadow: 0 0 2px 2px #DDD;
//    transition: all ease-in-out 160ms;
//    i {
//      transform: rotate(0deg);
//      transition: all ease-in-out 160ms;
//    }
//    &:hover {
//      box-shadow: 0 2px 4px 2px #CCC;
//      i {
//        transform: rotate(180deg);
//      }
//    }
//  }
//}