Styling twitter bootstrap buttons

前端 未结 14 2687
庸人自扰
庸人自扰 2020-12-04 05:18

Twitter-Bootstrap buttons are awesomely beautiful. Try them out by scrolling over them

\"bootstrap

相关标签:
14条回答
  • 2020-12-04 06:10

    I know this is an older thread, but just to add another perspective. I'd assert that using overrides is really a bit of a code smell and will quickly get out of hand on larger projects. Today you're overriding Buttons, tomorrow Modals, the next day it Dropdowns, etc., etc.

    I'd advise to try possibly commenting out the include for buttons.less and either define my own, or, find another Buttons library that's more suitable to my project. Shameless plug: here's an example of how easy it is to mix our Buttons library with TB: Using Buttons with Twitter Bootstrap. In practice, again, you'd likely want to remove the buttons.less include altogether to improve performance but this shows how you can make things look a bit less "generic". I haven't done this exercise yet myself but I'd imagine you could start by simply commenting out lines like:

    https://github.com/twbs/bootstrap/blob/master/less/bootstrap.less#L17

    And then recompiling using `lessc using one of your own buttons modules. That way you get the battle tested core of TB but can still customize things without resorting to major overrides. There's absolutely no reason not to use only parts of a library like Bootstrap. Of course the same applies to the Sass version of TB

    0 讨论(0)
  • 2020-12-04 06:12

    I found the simplest way is to put this in your overrides. Sorry for my unimaginative color choice

    Bootstrap 4-Alpha SASS

    .my-btn {
      //@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
      @include button-variant(red, white, blue);
    }
    

    Bootstrap 4 Alpha SASS Example

    Bootstrap 3 LESS

    .my-btn {
      //.button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);
      .button-variant(red; white; blue);
    }
    

    Bootstrap 3 LESS Example

    Bootstrap 3 SASS

    .my-btn {
      //@include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
      @include button-variant(red, white, blue);
    }
    

    Bootstrap 3 SASS Example

    Bootstrap 2.3 LESS

    .btn-primary {
      //.buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75));
      .buttonBackground(red, white);
    }
    

    Bootstrap 2.3 LESS Example

    Bootstrap 2.3 SASS

    .btn-primary {
      //@include buttonBackground($btnPrimaryBackground, $btnPrimaryBackgroundHighlight); 
      @include buttonBackground(red, white); 
    }
    

    It will take care of the hover/actives for you

    From the comments, if you want to lighten the button instead of darken when using black (or just want to inverse) you need to extend the class a bit further like so:

    Bootstrap 3 SASS Ligthen

    .my-btn {
      // @include button-variant($btn-primary-color, $btn-primary-bg, $btn-primary-border);
      $color: #fff;
      $background: #000;
      $border: #333;
      @include button-variant($color, $background, $border);
      // override the default darkening with lightening
      &:hover,
      &:focus,
      &.focus,
      &:active,
      &.active,
      .open > &.dropdown-toggle {
        color: $color;
        background-color: lighten($background, 20%); //10% default
        border-color: lighten($border, 22%); // 12% default
      }
    }
    

    Bootstrap 3 SASS Lighten Example

    0 讨论(0)
提交回复
热议问题