assets/stylesheets/bootstrap/_button-groups.scss
author ymh <ymh.work@gmail.com>
Thu, 15 Jun 2017 12:17:09 +0200
changeset 114 af15590802a4
permissions -rw-r--r--
add a lot of files
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
114
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
// Button groups
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
// --------------------------------------------------
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
// Make the div behave like a button
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
.btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
.btn-group-vertical {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
  position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
  display: inline-block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
  vertical-align: middle; // match .btn alignment given font-size hack above
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
  > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    position: relative;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
    float: left;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    // Bring the "active" button to the front
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
    &:hover,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    &:focus,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
    &:active,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    &.active {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
      z-index: 2;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
// Prevent double borders when buttons are next to each other
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
.btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
  .btn + .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
  .btn + .btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
  .btn-group + .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
  .btn-group + .btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    margin-left: -1px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
// Optional: Group multiple button groups together for a toolbar
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
.btn-toolbar {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
  margin-left: -5px; // Offset the first child's margin
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
  @include clearfix;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
  .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
  .btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
  .input-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
    float: left;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
  > .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
  > .btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
  > .input-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    margin-left: 5px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
  border-radius: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
.btn-group > .btn:first-child {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
  margin-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
  &:not(:last-child):not(.dropdown-toggle) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
    @include border-right-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
.btn-group > .btn:last-child:not(:first-child),
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
.btn-group > .dropdown-toggle:not(:first-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
  @include border-left-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
.btn-group > .btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
  float: left;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
  border-radius: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
.btn-group > .btn-group:first-child:not(:last-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
  > .btn:last-child,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
  > .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
    @include border-right-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
  @include border-left-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
// On active and open, don't show outline
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
.btn-group .dropdown-toggle:active,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
.btn-group.open .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
  outline: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
// Sizing
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
// Remix the default button sizing classes into new ones for easier manipulation.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
.btn-group-xs > .btn { @extend .btn-xs; }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
.btn-group-sm > .btn { @extend .btn-sm; }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
.btn-group-lg > .btn { @extend .btn-lg; }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
// Split button dropdowns
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
// ----------------------
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
// Give the line between buttons some depth
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
.btn-group > .btn + .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
  padding-left: 8px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
  padding-right: 8px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
.btn-group > .btn-lg + .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
  padding-left: 12px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
  padding-right: 12px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
// The clickable button for toggling the menu
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
// Remove the gradient and set the same inset shadow as the :active state
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
.btn-group.open .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
  @include box-shadow(inset 0 3px 5px rgba(0,0,0,.125));
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
  // Show no shadow for `.btn-link` since it has no other button styles.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
  &.btn-link {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
    @include box-shadow(none);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
// Reposition the caret
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
.btn .caret {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
  margin-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
// Carets in other button sizes
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
.btn-lg .caret {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
  border-width: $caret-width-large $caret-width-large 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
  border-bottom-width: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
// Upside down carets for .dropup
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
.dropup .btn-lg .caret {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
  border-width: 0 $caret-width-large $caret-width-large;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
// Vertical button groups
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
// ----------------------
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
.btn-group-vertical {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
  > .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
  > .btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
  > .btn-group > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
    display: block;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
    float: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
    width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
    max-width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
  // Clear floats so dropdown menus can be properly placed
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
  > .btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
    @include clearfix;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
    > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
      float: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
  > .btn + .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
  > .btn + .btn-group,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
  > .btn-group + .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
  > .btn-group + .btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
    margin-top: -1px;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
    margin-left: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
.btn-group-vertical > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
  &:not(:first-child):not(:last-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
    border-radius: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
  &:first-child:not(:last-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
    border-top-right-radius: $btn-border-radius-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
    @include border-bottom-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
  &:last-child:not(:first-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
    border-bottom-left-radius: $btn-border-radius-base;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
    @include border-top-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
  border-radius: 0;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
.btn-group-vertical > .btn-group:first-child:not(:last-child) {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
  > .btn:last-child,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
  > .dropdown-toggle {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
    @include border-bottom-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
  @include border-top-radius(0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
// Justified button groups
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
// ----------------------
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
.btn-group-justified {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
  display: table;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
  width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
  table-layout: fixed;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
  border-collapse: separate;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
  > .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
  > .btn-group {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
    float: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
    display: table-cell;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
    width: 1%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
  > .btn-group .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
    width: 100%;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
  > .btn-group .dropdown-menu {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
    left: auto;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
}
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
// Checkbox and radio options
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
// In order to support the browser's form validation feedback, powered by the
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
// `required` attribute, we have to "hide" the inputs via `clip`. We cannot use
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
// `display: none;` or `visibility: hidden;` as that also hides the popover.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
// Simply visually hiding the inputs via `opacity` would leave them clickable in
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
// certain cases which is prevented by using `clip` and `pointer-events`.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
// This way, we ensure a DOM element is visible to position the popover from.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
//
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
// See https://github.com/twbs/bootstrap/pull/12794 and
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
// https://github.com/twbs/bootstrap/pull/14559 for more information.
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
[data-toggle="buttons"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
  > .btn,
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
  > .btn-group > .btn {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
    input[type="radio"],
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
    input[type="checkbox"] {
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
      position: absolute;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
      clip: rect(0,0,0,0);
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
      pointer-events: none;
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
    }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
  }
af15590802a4 add a lot of files
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
}