Common.less 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /* claro/form/Common.css */
  2. /*========================= common css =========================*/
  3. @import "../variables";
  4. /* 'dijitTextBox' refers to 'dijit(TextBox|DateTextBox|CurrencyTextBox|...)' */
  5. .claro .dijitTextBoxError .dijitValidationContainer {
  6. background-color: @erroricon-background-color;
  7. background-image: url('images/error.png');
  8. background-position: top center;
  9. border: solid @erroricon-background-color 0;
  10. border-left-width: 1px;
  11. width: 9px;
  12. }
  13. .claro .dijitTextBoxError .dijitValidationIcon {
  14. width: 0;
  15. background-color: transparent !important; /* so the INPUT doesn't obscure the border in rtl+a11y */
  16. }
  17. /* Padding for the input area of TextBox based widgets, and corresponding padding for the
  18. * down arrow button and the placeholder. placeholder is explicitly listed because
  19. * dijitPlaceHolder is absolutely positioned, so padding set on dijitInputField
  20. * won't affect it
  21. */
  22. .claro .dijitTextArea,
  23. .claro .dijitInputField .dijitPlaceHolder {
  24. padding: @textbox-padding;
  25. }
  26. .claro .dijitTextBox .dijitInputField {
  27. // Subtract 1px from top/bottom because we add 1px to other nodes, see rules below.
  28. // Although we are theoretically only adding 1px to top/bottom browsers seem to pad inputs by 1px on left/right,
  29. // although that varies by so compensate for that too.
  30. padding: @textbox-padding - 1px @textbox-padding;
  31. }
  32. .dj_gecko .claro .dijitTextBox .dijitInputInner,
  33. .dj_webkit .claro .dijitTextBox .dijitInputInner {
  34. // Although we are theoretically only adding 1px to top/bottom, some browsers seem to pad inputs by 1px on left/right,
  35. // so compensate for that too.
  36. padding: @textbox-padding - 1px;
  37. }
  38. .claro .dijitTextBox,
  39. .claro .dijitTextBox .dijitButtonNode {
  40. /* color for (outer) border on *TextBox widgets, and border between input and buttons on ComboBox and Spinner */
  41. border-color: @border-color;
  42. .transition-property(background-color, border);
  43. .transition-duration(.35s);
  44. }
  45. .claro .dijitTextBox {
  46. background-color: @textbox-background-color;
  47. }
  48. /* hover */
  49. .claro .dijitTextBoxHover,
  50. .claro .dijitTextBoxHover .dijitButtonNode {
  51. border-color: @hovered-border-color;
  52. .transition-duration(.25s);
  53. }
  54. .claro .dijitTextBoxHover {
  55. background-color: @textbox-hovered-background-color;
  56. background-image: url('images/textBox_back.png');
  57. background-repeat: repeat-x;
  58. }
  59. /* error state */
  60. .claro .dijitTextBoxError,
  61. .claro .dijitTextBoxError .dijitButtonNode {
  62. border-color: @error-border-color;
  63. }
  64. .claro .dijitTextBoxError,
  65. .claro .dijitTextBoxError .dijitInputContainer {
  66. background-color: @textbox-error-background-color;
  67. }
  68. /* focused state */
  69. .claro .dijitTextBoxFocused,
  70. .claro .dijitTextBoxFocused .dijitButtonNode {
  71. border-color:@focused-border-color;
  72. .transition-duration(.1s);
  73. }
  74. .claro .dijitTextBoxFocused {
  75. background-color: @textbox-focused-background-color;
  76. background-image: url('images/textBox_back.png');
  77. background-repeat: repeat-x;
  78. }
  79. .claro .dijitTextBoxFocused .dijitInputContainer {
  80. background: @textbox-focused-background-color;
  81. }
  82. .claro .dijitTextBoxErrorFocused,
  83. .claro .dijitTextBoxErrorFocused .dijitButtonNode {
  84. border-color: @error-focused-border-color;
  85. }
  86. /* disabled state */
  87. .claro .dijitTextBoxDisabled,
  88. .claro .dijitTextBoxDisabled .dijitButtonNode {
  89. border-color: @disabled-border-color;
  90. }
  91. .claro .dijitTextBoxDisabled,
  92. .claro .dijitTextBoxDisabled .dijitInputContainer {
  93. background-color: @textbox-disabled-background-color;
  94. background-image: none;
  95. color: @disabled-text-color;
  96. }
  97. /*========================= for special widgets =========================*/
  98. /* Input boxes with an arrow (for a drop down) */
  99. .claro .dijitComboBox .dijitArrowButtonInner {
  100. background-image: url("images/commonFormArrows.png");
  101. background-position:-35px 53%;
  102. background-repeat: no-repeat;
  103. margin: 0;
  104. width:16px;
  105. border: 1px solid @arrowbutton-inner-border-color; // white gutter around the arrow button
  106. }
  107. .claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
  108. border: none;
  109. }
  110. .claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
  111. border: none;
  112. }
  113. /* Add 1px vertical padding to the <input> where user types and the validation icon,
  114. to match the 1px border on arrow button */
  115. .claro .dijitTextBox .dijitInputInner,
  116. .claro .dijitTextBox .dijitValidationContainer {
  117. padding: 1px 0;
  118. }
  119. .claro .dijitComboBox .dijitButtonNode {
  120. background-color: @arrowbutton-background-color;
  121. background-image: url("images/formHighlight.png");
  122. background-repeat:repeat-x;
  123. }
  124. /* Arrow "hover" effect:
  125. * The arrow button should change color whenever the mouse is in a position such that clicking it
  126. * will toggle the drop down. That's either (1) anywhere over the ComboBox or (2) over the arrow
  127. * button, depending on the openOnClick setting for the widget.
  128. */
  129. .claro .dijitComboBoxOpenOnClickHover .dijitButtonNode,
  130. .claro .dijitComboBox .dijitDownArrowButtonHover {
  131. background-color:@arrowbutton-hovered-background-color;
  132. }
  133. .claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner,
  134. .claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner {
  135. background-position:-70px 53%;
  136. }
  137. /* Arrow Button change when drop down is open */
  138. .claro .dijitComboBox .dijitHasDropDownOpen { // .dijitHasDropDown is on dijitArrowButton node
  139. background-color: @pressed-background-color;
  140. background-position:0 -177px;
  141. padding: 1px; // Since no border on arrow button (see rule below)
  142. }
  143. .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
  144. background-position:-70px 53%;
  145. border: 0 none;
  146. }
  147. /* disabled state */
  148. .claro div.dijitComboBoxDisabled .dijitArrowButtonInner {
  149. /* specific selector set to override background-position setting from Button.js
  150. * (.claro .dijitComboBoxDisabled .dijitArrowButtonInner) */
  151. background-position:0 50%;
  152. background-color:@disabled-background-color;
  153. }
  154. /*========================= hacks for browsers =========================*/
  155. /* it seems the input[type="hidden"] has a height (16px) too... this may cause the widget's height calculate error */
  156. .dj_ff3 .claro .dijitInputField input[type="hidden"] {
  157. display: none;
  158. height: 0;
  159. width: 0;
  160. }
  161. /* ie6 doesn't support transparent background img */
  162. .dj_ie6 .claro .dijitTextBox,
  163. .dj_ie6 .claro .dijitComboBox .dijitButtonNode {
  164. background-image: none;
  165. }
  166. .dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
  167. width:18px; // quirks mode means border-box sizing, so 18px with the border (same as 16px without border)
  168. }
  169. .dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner {
  170. width:16px; // when no border, then back to 16px just like content-box sizing
  171. }