vendor/toolkit/twitter/bootstrap/buttons.less in twitter-bootswatch-rails-2.3.2.8 vs vendor/toolkit/twitter/bootstrap/buttons.less in twitter-bootswatch-rails-3.0.0.0

- old
+ new

@@ -4,225 +4,157 @@ // Base styles // -------------------------------------------------- -// Core +// Core styles .btn { display: inline-block; - .ie7-inline-block(); - padding: 4px 12px; + padding: @padding-base-vertical @padding-base-horizontal; margin-bottom: 0; // For input.btn - font-size: @baseFontSize; - line-height: @baseLineHeight; + font-size: @font-size-base; + font-weight: @btn-font-weight; + line-height: @line-height-base; text-align: center; vertical-align: middle; cursor: pointer; - .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75)); - border: 1px solid @btnBorder; - *border: 0; // Remove the border to prevent IE7's black border on input:focus - border-bottom-color: darken(@btnBorder, 10%); - .border-radius(@baseBorderRadius); - .ie7-restore-left-whitespace(); // Give IE7 some love - .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); + border: 1px solid transparent; + border-radius: @border-radius-base; + white-space: nowrap; + .user-select(none); - // Hover/focus state - &:hover, &:focus { - color: @grayDark; - text-decoration: none; - background-position: 0 -15px; - - // transition is only when going to hover/focus, otherwise the background - // behind the gradient (there for IE<=9 fallback) gets mismatched - .transition(background-position .1s linear); + .tab-focus(); } - // Focus state for keyboard and accessibility + &:hover, &:focus { - .tab-focus(); + color: @btn-default-color; + text-decoration: none; } - // Active state - &.active, - &:active { - background-image: none; + &:active, + &.active { outline: 0; - .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); + background-image: none; + .box-shadow(inset 0 3px 5px rgba(0,0,0,.125)); } - // Disabled state &.disabled, - &[disabled] { - cursor: default; - background-image: none; - .opacity(65); + &[disabled], + fieldset[disabled] & { + cursor: not-allowed; + pointer-events: none; // Future-proof disabling of clicks + .opacity(.65); .box-shadow(none); } } - -// Button Sizes -// -------------------------------------------------- - -// Large -.btn-large { - padding: @paddingLarge; - font-size: @fontSizeLarge; - .border-radius(@borderRadiusLarge); -} -.btn-large [class^="icon-"], -.btn-large [class*=" icon-"] { - margin-top: 4px; -} - -// Small -.btn-small { - padding: @paddingSmall; - font-size: @fontSizeSmall; - .border-radius(@borderRadiusSmall); -} -.btn-small [class^="icon-"], -.btn-small [class*=" icon-"] { - margin-top: 0; -} -.btn-mini [class^="icon-"], -.btn-mini [class*=" icon-"] { - margin-top: -1px; -} - -// Mini -.btn-mini { - padding: @paddingMini; - font-size: @fontSizeMini; - .border-radius(@borderRadiusSmall); -} - - -// Block button -// ------------------------- - -.btn-block { - display: block; - width: 100%; - padding-left: 0; - padding-right: 0; - .box-sizing(border-box); -} - -// Vertically space out multiple block buttons -.btn-block + .btn-block { - margin-top: 5px; -} - -// Specificity overrides -input[type="submit"], -input[type="reset"], -input[type="button"] { - &.btn-block { - width: 100%; - } -} - - - // Alternate buttons // -------------------------------------------------- -// Provide *some* extra contrast for those who can get it -.btn-primary.active, -.btn-warning.active, -.btn-danger.active, -.btn-success.active, -.btn-info.active, -.btn-inverse.active { - color: rgba(255,255,255,.75); +.btn-default { + .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border); } - -// Set the backgrounds -// ------------------------- .btn-primary { - .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight); + .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border); } -// Warning appears are orange +// Warning appears as orange .btn-warning { - .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight); + .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border); } // Danger and error appear as red .btn-danger { - .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight); + .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border); } // Success appears as green .btn-success { - .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight); + .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border); } -// Info appears as a neutral blue +// Info appears as blue-green .btn-info { - .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight); + .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border); } -// Inverse appears as dark gray -.btn-inverse { - .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight); -} -// Cross-browser Jank -// -------------------------------------------------- +// Link buttons +// ------------------------- -button.btn, -input[type="submit"].btn { +// Make a button look and behave like a link +.btn-link { + color: @link-color; + font-weight: normal; + cursor: pointer; + border-radius: 0; - // Firefox 3.6 only I believe - &::-moz-focus-inner { - padding: 0; - border: 0; + &, + &:active, + &[disabled], + fieldset[disabled] & { + background-color: transparent; + .box-shadow(none); } - - // IE7 has some default padding on button controls - *padding-top: 3px; - *padding-bottom: 3px; - - &.btn-large { - *padding-top: 7px; - *padding-bottom: 7px; + &, + &:hover, + &:focus, + &:active { + border-color: transparent; } - &.btn-small { - *padding-top: 3px; - *padding-bottom: 3px; + &:hover, + &:focus { + color: @link-hover-color; + text-decoration: underline; + background-color: transparent; } - &.btn-mini { - *padding-top: 1px; - *padding-bottom: 1px; + &[disabled], + fieldset[disabled] & { + &:hover, + &:focus { + color: @btn-link-disabled-color; + text-decoration: none; + } } } -// Link buttons +// Button Sizes // -------------------------------------------------- -// Make a button look and behave like a link -.btn-link, -.btn-link:active, -.btn-link[disabled] { - background-color: transparent; - background-image: none; - .box-shadow(none); +.btn-lg { + // line-height: ensure even-numbered height of button next to large input + .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large); } -.btn-link { - border-color: transparent; - cursor: pointer; - color: @linkColor; - .border-radius(0); +.btn-sm, +.btn-xs { + // line-height: ensure proper height of button next to small input + .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small); } -.btn-link:hover, -.btn-link:focus { - color: @linkColorHover; - text-decoration: underline; - background-color: transparent; +.btn-xs { + padding: 1px 5px; } -.btn-link[disabled]:hover, -.btn-link[disabled]:focus { - color: @grayDark; - text-decoration: none; + + +// Block button +// -------------------------------------------------- + +.btn-block { + display: block; + width: 100%; + padding-left: 0; + padding-right: 0; +} + +// Vertically space out multiple block buttons +.btn-block + .btn-block { + margin-top: 5px; +} + +// Specificity overrides +input[type="submit"], +input[type="reset"], +input[type="button"] { + &.btn-block { + width: 100%; + } }