Button.less 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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. background-image: url("../@{image-form-button}");
  42. background-position: center top;
  43. background-repeat: repeat-x;
  44. background-color: @button-background-color;
  45. color: @text-color;
  46. .border-radius(@button-border-radius);
  47. .box-shadow(0 1px 1px rgba(0,0,0,0.15));
  48. }
  49. .claro .dijitComboButton .dijitArrowButton {
  50. border-left-width: 0;
  51. padding: 4px 2px 4px 2px; /* TODO: still needed? */
  52. }
  53. /*arrow styles for down/up/left/right directions*/
  54. .claro .dijitArrowButtonInner {
  55. width: 15px;
  56. height: 15px;
  57. margin: 0 auto;
  58. background-image:url("../@{image-form-button-arrows}");
  59. background-repeat:no-repeat;
  60. background-position:-51px 53%;
  61. }
  62. .claro .dijitLeftArrowButton .dijitArrowButtonInner {
  63. background-position: -77px 53%;
  64. }
  65. .claro .dijitRightArrowButton .dijitArrowButtonInner {
  66. background-position: -26px 53%;
  67. }
  68. .claro .dijitUpArrowButton .dijitArrowButtonInner {
  69. background-position: 0 53%;
  70. }
  71. .claro .dijitDisabled .dijitArrowButtonInner {
  72. background-position: -151px 53%;
  73. }
  74. .claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner {
  75. background-position: -177px 53%;
  76. }
  77. .claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner {
  78. background-position: -126px 53%;
  79. }
  80. .claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner {
  81. background-position: -100px 53%;
  82. }
  83. .claro .dijitButtonText {
  84. padding: 0 0.3em;
  85. text-align: center;
  86. }
  87. /* hover status */
  88. .claro .dijitButtonHover .dijitButtonNode,
  89. .claro .dijitDropDownButtonHover .dijitButtonNode,
  90. .claro .dijitComboButton .dijitButtonNodeHover,
  91. .claro .dijitComboButton .dijitDownArrowButtonHover,
  92. .claro .dijitToggleButtonHover .dijitButtonNode {
  93. background-color: @button-hovered-background-color;
  94. color:@text-color;
  95. .transition-duration(.2s);
  96. }
  97. /* active, checked status */
  98. .claro .dijitButtonActive .dijitButtonNode,
  99. .claro .dijitDropDownButtonActive .dijitButtonNode,
  100. .claro .dijitComboButtonActive .dijitButtonNode,
  101. .claro .dijitToggleButtonActive .dijitButtonNode,
  102. .claro .dijitStackController .dijitToggleButtonChecked .dijitButtonNode {
  103. background-color: @button-pressed-background-color;
  104. .box-shadow(0 0 0 rgba(0,0,0,0));
  105. .transition-duration(.1s);
  106. }
  107. /* disabled status */
  108. .claro .dijitButtonDisabled,
  109. .claro .dijitDropDownButtonDisabled,
  110. .claro .dijitComboButtonDisabled,
  111. .claro .dijitToggleButtonDisabled {
  112. background-image: none;
  113. outline: none;
  114. }
  115. .claro .dijitButtonDisabled .dijitButtonNode,
  116. .claro .dijitDropDownButtonDisabled .dijitButtonNode,
  117. .claro .dijitComboButtonDisabled .dijitButtonNode,
  118. .claro .dijitToggleButtonDisabled .dijitButtonNode {
  119. background-position:0 -149px;
  120. background-color: @disabled-background-color;
  121. border: solid 1px @disabled-border-color;
  122. color: @disabled-text-color;
  123. .box-shadow(0 0 0 rgba(0,0,0,0));
  124. }
  125. .claro .dijitComboButtonDisabled .dijitArrowButton{
  126. border-left-width: 0;
  127. }
  128. /* for ComboButton */
  129. .claro table.dijitComboButton {
  130. border-collapse: separate; /* override dijit.css so that ComboBox rounded corners work */
  131. }
  132. .dj_ie6 .claro .dijitButtonNode {
  133. background-image: none;
  134. }
  135. .claro .dijitComboButton .dijitStretch {
  136. .border-radius(@button-border-radius 0 0 @button-border-radius);
  137. }
  138. .claro .dijitComboButton .dijitArrowButton {
  139. .border-radius(0 @button-border-radius @button-border-radius 0);
  140. }