Button.less 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. /* Button | DropDownButton | ComboButton | ToggleButton
  2. *
  3. * Styling Buttons mainly includes:
  4. *
  5. * 1. Containers
  6. * .dijitButton
  7. * .dijitDropDownButton
  8. * .dijitComboButton
  9. * .dijitButtonNode - common button/arrow wrapper shared across all three button types
  10. *
  11. * 2. Button text
  12. * .dijitButtonText
  13. *
  14. * 3. Arrows - only for DropDownButton and ComboButton
  15. * There are total four directions arrows - down, left, right, up:
  16. * .dijitArrowButtonInner - down arrow by default
  17. * .dijitLeftArrowButton .dijitArrowButtonInner - left arrow
  18. * .dijitRightArrowButton .dijitArrowButtonInner - right arrow
  19. * .dijitUpArrowButton .dijitArrowButtonInner - up arrow
  20. *
  21. * 4. States - Hover, Active, Disabled, e.g.
  22. * .dijitButtonHover .dijitButtonNode
  23. * .dijitButtonActive .dijitButtonNode
  24. * .dijitButtonDisabled .dijitButtonNode
  25. *
  26. * .dijitDisabled .dijitArrowButtonInner - disabled arrow states
  27. */
  28. @import "../variables";
  29. .claro .dijitButtonNode {
  30. /* rules for dijit.form.*Button widgets and arrow nodes on ComboBox, Spinner etc. */
  31. .transition-property(background-color);
  32. .transition-duration(.3s);
  33. }
  34. .claro .dijitButton .dijitButtonNode,
  35. .claro .dijitDropDownButton .dijitButtonNode,
  36. .claro .dijitComboButton .dijitButtonNode,
  37. .claro .dijitToggleButton .dijitButtonNode {
  38. /* rules for the dijit.form.*Button widgets (see also ComboButton section below) */
  39. border: 1px solid @button-border-color;
  40. padding: 2px 4px 4px 4px;
  41. color: @text-color;
  42. .border-radius(@button-border-radius);
  43. .box-shadow(0 1px 1px rgba(0,0,0,0.15));
  44. background-color: desaturate(darken(@button-background-color, 10), 20);
  45. // Alpha transparency layer to add gradient to above background color.
  46. // Use CSS gradient with fallback to image for IE.
  47. background-image: url("images/buttonEnabled.png");
  48. background-repeat: repeat-x;
  49. .alpha-white-gradient(1, 0px, 0, 3px, 0.75, 100%);
  50. _background-image: none; // IE6 can't handle background-color and background-image at once.
  51. }
  52. .claro .dijitComboButton .dijitArrowButton {
  53. border-left-width: 0;
  54. padding: 4px 2px 4px 2px; /* TODO: still needed? */
  55. }
  56. /*arrow styles for down/up/left/right directions*/
  57. .claro .dijitArrowButtonInner {
  58. width: 15px;
  59. height: 15px;
  60. margin: 0 auto;
  61. background-image:url("../@{image-form-button-arrows}");
  62. background-repeat:no-repeat;
  63. background-position:-51px 53%;
  64. }
  65. .claro .dijitLeftArrowButton .dijitArrowButtonInner {
  66. background-position: -77px 53%;
  67. }
  68. .claro .dijitRightArrowButton .dijitArrowButtonInner {
  69. background-position: -26px 53%;
  70. }
  71. .claro .dijitUpArrowButton .dijitArrowButtonInner {
  72. background-position: 0 53%;
  73. }
  74. .claro .dijitDisabled .dijitArrowButtonInner {
  75. background-position: -151px 53%;
  76. }
  77. .claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner {
  78. background-position: -177px 53%;
  79. }
  80. .claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner {
  81. background-position: -126px 53%;
  82. }
  83. .claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner {
  84. background-position: -100px 53%;
  85. }
  86. .claro .dijitButtonText {
  87. padding: 0 0.3em;
  88. text-align: center;
  89. }
  90. /* hover status */
  91. .claro .dijitButtonHover .dijitButtonNode,
  92. .claro .dijitDropDownButtonHover .dijitButtonNode,
  93. .claro .dijitComboButton .dijitButtonNodeHover,
  94. .claro .dijitComboButton .dijitDownArrowButtonHover,
  95. .claro .dijitToggleButtonHover .dijitButtonNode {
  96. background-color: desaturate(darken(@button-hovered-background-color, 10), 20);
  97. color:@text-color;
  98. .transition-duration(.2s);
  99. }
  100. /* active, checked status */
  101. .claro .dijitButtonActive .dijitButtonNode,
  102. .claro .dijitDropDownButtonActive .dijitButtonNode,
  103. .claro .dijitComboButtonActive .dijitButtonNode,
  104. .claro .dijitToggleButtonActive .dijitButtonNode,
  105. .claro .dijitToggleButtonChecked .dijitButtonNode {
  106. background-color: desaturate(darken(@button-pressed-background-color, 10), 20);
  107. .box-shadow(inset 0px 1px 1px rgba(0, 0, 0, 0.2));
  108. .transition-duration(.1s);
  109. }
  110. /* disabled status */
  111. .claro .dijitButtonDisabled,
  112. .claro .dijitDropDownButtonDisabled,
  113. .claro .dijitComboButtonDisabled,
  114. .claro .dijitToggleButtonDisabled {
  115. background-image: none;
  116. outline: none;
  117. }
  118. .claro .dijitButtonDisabled .dijitButtonNode,
  119. .claro .dijitDropDownButtonDisabled .dijitButtonNode,
  120. .claro .dijitComboButtonDisabled .dijitButtonNode,
  121. .claro .dijitToggleButtonDisabled .dijitButtonNode {
  122. background-color: @disabled-background-color;
  123. border: solid 1px @disabled-border-color;
  124. color: @disabled-text-color;
  125. .box-shadow(0 0 0 rgba(0,0,0,0));
  126. // Change the gradient from light to dark.
  127. // Again using CSS gradient with fallback to image for IE.
  128. background-image: url("images/buttonDisabled.png");
  129. .alpha-white-gradient(1, 0%, 0, 40%);
  130. _background-image: none; // IE6 can't handle background-color and background-image at once.
  131. }
  132. .claro .dijitComboButtonDisabled .dijitArrowButton{
  133. border-left-width: 0;
  134. }
  135. /* for ComboButton */
  136. .claro table.dijitComboButton {
  137. border-collapse: separate; /* override dijit.css so that ComboBox rounded corners work */
  138. }
  139. .claro .dijitComboButton .dijitStretch {
  140. .border-radius(@button-border-radius 0 0 @button-border-radius);
  141. }
  142. .claro .dijitComboButton .dijitArrowButton {
  143. .border-radius(0 @button-border-radius @button-border-radius 0);
  144. }