mixins.less 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. //============================================================
  2. //
  3. // LESS CSS3 Mixins by @soyjavi
  4. //
  5. // @description CSS3 mixins for LESS projects
  6. // @version 1.2
  7. //
  8. //============================================================
  9. //============================================================
  10. // Variables
  11. //
  12. //============================================================
  13. //============================================================
  14. //
  15. // border-radius
  16. //
  17. // @param top-left-radius : px, em, %;
  18. // @param top-right-radius : px, em, %;
  19. // @param bottom-right-radius : px, em, %;
  20. // @param bottom-left-radius : px, em, %;
  21. //
  22. // @see http://www.w3.org/TR/css3-background/#border-radius
  23. //
  24. //============================================================
  25. .border-radius() {
  26. -webkit-border-radius: @arguments;
  27. -moz-border-radius: @arguments;
  28. border-radius: @arguments;
  29. -webkit-background-clip: padding-box;
  30. -moz-background-clip: padding;
  31. background-clip: padding-box;
  32. }
  33. //============================================================
  34. //
  35. // box-shadow
  36. //
  37. // @param colour : #000, rgba, hsla;
  38. // @param horizontal-offset : px, em;
  39. // @param vertical-offset : px, em;
  40. // @param blur-radius : px, em;
  41. // @param spread-distance : px, em,
  42. // @param inset : inset;
  43. //
  44. // @see http://www.w3.org/TR/css3-background/#box-shadow
  45. //
  46. //============================================================
  47. .box-shadow() {
  48. -webkit-box-shadow: @arguments;
  49. -moz-box-shadow: @arguments;
  50. box-shadow: @arguments;
  51. }
  52. //============================================================
  53. //
  54. // transform
  55. //
  56. // @param functions : matrix()
  57. // : translate()
  58. // : scale()
  59. // : rotate()
  60. // : skew()
  61. //
  62. // @see http://www.w3.org/TR/css3-2d-transforms/
  63. //
  64. //============================================================
  65. .transform() {
  66. -webkit-transform: @arguments;
  67. -moz-transform: @arguments;
  68. -o-transform: @arguments;
  69. transform: @arguments;
  70. }
  71. //============================================================
  72. //
  73. // translate
  74. //
  75. // @param translate-x : px;
  76. // @param translate-y : px;
  77. //
  78. // @see http://www.w3.org/TR/css3-2d-transforms/
  79. //
  80. //============================================================
  81. .translate() {
  82. -webkit-transform: translate(@arguments);
  83. -moz-transform: translate(@arguments);
  84. -o-transform: translate(@arguments);
  85. transform: translate(@arguments);
  86. }
  87. //============================================================
  88. //
  89. // scale
  90. //
  91. // @param scale-x : 0.5, 2, etc;
  92. // @param scale-y : 0.5, 2, etc;
  93. //
  94. // @see http://www.w3.org/TR/css3-2d-transforms/
  95. //
  96. //============================================================
  97. .scale() {
  98. -webkit-transform: scale(@arguments);
  99. -moz-transform: scale(@arguments);
  100. -o-transform: scale(@arguments);
  101. transform: scale(@arguments);
  102. }
  103. //============================================================
  104. //
  105. // rotate
  106. //
  107. // @param angle : 0deg;
  108. //
  109. // @see http://www.w3.org/TR/css3-2d-transforms/
  110. //
  111. //============================================================
  112. .rotate() {
  113. -webkit-transform: rotate(@arguments);
  114. -moz-transform: rotate(@arguments);
  115. -o-transform: rotate(@arguments);
  116. transform: rotate(@arguments);
  117. }
  118. //============================================================
  119. //
  120. // backface-visibility
  121. //
  122. // @param visibility : visible | hidden;
  123. //
  124. // @see http://www.w3.org/TR/css3-3d-transforms/
  125. //
  126. //============================================================
  127. .backface-visibility() {
  128. -webkit-backface-visibility: @arguments;
  129. -moz-backface-visibility: @arguments;
  130. -o-backface-visibility: @arguments;
  131. backface-visibility: @arguments;
  132. }
  133. //============================================================
  134. //
  135. // transition
  136. //
  137. // @param properties : all, left, opacity, etc;
  138. // @param duration : 1s, 1000ms;
  139. // @param delay : 1s, 1000ms;
  140. // @param easing : linear, ease-in-out, etc;
  141. //
  142. // @see http://www.w3.org/TR/css3-transitions/
  143. //
  144. //============================================================
  145. .transition() {
  146. -webkit-transition: @arguments;
  147. -moz-transition: @arguments;
  148. -o-transition: @arguments;
  149. transition: @arguments;
  150. }
  151. //============================================================
  152. //
  153. // transition
  154. //
  155. // @param properties : all, left, opacity, etc;
  156. // @param duration : 1s, 1000ms;
  157. // @param delay : 1s, 1000ms;
  158. // @param easing : linear, ease-in-out, etc;
  159. //
  160. // @see http://www.w3.org/TR/css3-transitions/
  161. //
  162. //============================================================
  163. .user-select() {
  164. -webkit-user-select: @arguments;
  165. -moz-user-select: @arguments;
  166. -o-user-select: @arguments;
  167. user-select: @arguments;
  168. }
  169. //============================================================
  170. //
  171. // easing
  172. //
  173. // Thanks to Robert Penner for his sterling work on easing,
  174. // and to Matthew Lein for converting these functions into
  175. // approximated cubic-bezier functions. Respect.
  176. //
  177. // @see http://robertpenner.com/
  178. // @see http://matthewlein.com/ceaser/
  179. //
  180. //============================================================
  181. // Cubic
  182. @easeInCubic : cubic-bezier(0.550, 0.055, 0.675, 0.190);
  183. @easeOutCubic : cubic-bezier(0.215, 0.610, 0.355, 1.000);
  184. @easeInOutCubic : cubic-bezier(0.645, 0.045, 0.355, 1.000);
  185. // Circ
  186. @easeInCirc : cubic-bezier(0.600, 0.040, 0.980, 0.335);
  187. @easeOutCirc : cubic-bezier(0.075, 0.820, 0.165, 1.000);
  188. @easeInOutCirc : cubic-bezier(0.785, 0.135, 0.150, 0.860);
  189. // Expo
  190. @easeInExpo : cubic-bezier(0.950, 0.050, 0.795, 0.035);
  191. @easeOutExpo : cubic-bezier(0.190, 1.000, 0.220, 1.000);
  192. @easeInOutExpo : cubic-bezier(1.000, 0.000, 0.000, 1.000);
  193. // Quad
  194. @easeInQuad : cubic-bezier(0.550, 0.085, 0.680, 0.530);
  195. @easeOutQuad : cubic-bezier(0.250, 0.460, 0.450, 0.940);
  196. @easeInOutQuad : cubic-bezier(0.455, 0.030, 0.515, 0.955);
  197. // Quart
  198. @easeInQuart : cubic-bezier(0.895, 0.030, 0.685, 0.220);
  199. @easeOutQuart : cubic-bezier(0.165, 0.840, 0.440, 1.000);
  200. @easeInOutQuart : cubic-bezier(0.770, 0.000, 0.175, 1.000);
  201. // Quint
  202. @easeInQuint : cubic-bezier(0.755, 0.050, 0.855, 0.060);
  203. @easeOutQuint : cubic-bezier(0.230, 1.000, 0.320, 1.000);
  204. @easeInOutQuint : cubic-bezier(0.860, 0.000, 0.070, 1.000);
  205. // Sine
  206. @easeInSine : cubic-bezier(0.470, 0.000, 0.745, 0.715);
  207. @easeOutSine : cubic-bezier(0.390, 0.575, 0.565, 1.000);
  208. @easeInOutSine : cubic-bezier(0.445, 0.050, 0.550, 0.950);