less-rails-bootstrap 1.4.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +5 -0
- data/lib/less/rails/bootstrap/version.rb +1 -1
- data/test/cases/usage_css_spec.rb +2 -9
- data/test/cases/usage_js_spec.rb +5 -7
- data/vendor/assets/javascripts/twitter/bootstrap.js +12 -8
- data/vendor/assets/javascripts/twitter/bootstrap/alert.js +91 -0
- data/vendor/assets/javascripts/twitter/bootstrap/button.js +98 -0
- data/vendor/assets/javascripts/twitter/bootstrap/carousel.js +154 -0
- data/vendor/assets/javascripts/twitter/bootstrap/collapse.js +136 -0
- data/vendor/assets/javascripts/twitter/bootstrap/dropdown.js +58 -21
- data/vendor/assets/javascripts/twitter/bootstrap/modal.js +63 -114
- data/vendor/assets/javascripts/twitter/bootstrap/popover.js +39 -30
- data/vendor/assets/javascripts/twitter/bootstrap/scrollspy.js +62 -44
- data/vendor/assets/javascripts/twitter/bootstrap/tab.js +130 -0
- data/vendor/assets/javascripts/twitter/bootstrap/tooltip.js +270 -0
- data/vendor/assets/javascripts/twitter/bootstrap/transition.js +51 -0
- data/vendor/assets/javascripts/twitter/bootstrap/typeahead.js +271 -0
- data/vendor/frameworks/twitter/bootstrap/accordion.less +28 -0
- data/vendor/frameworks/twitter/bootstrap/alerts.less +70 -0
- data/vendor/frameworks/twitter/bootstrap/bootstrap.less +41 -5
- data/vendor/frameworks/twitter/bootstrap/breadcrumbs.less +22 -0
- data/vendor/frameworks/twitter/bootstrap/button-groups.less +147 -0
- data/vendor/frameworks/twitter/bootstrap/buttons.less +165 -0
- data/vendor/frameworks/twitter/bootstrap/carousel.less +121 -0
- data/vendor/frameworks/twitter/bootstrap/close.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/code.less +44 -0
- data/vendor/frameworks/twitter/bootstrap/component-animations.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/dropdowns.less +131 -0
- data/vendor/frameworks/twitter/bootstrap/forms.less +336 -300
- data/vendor/frameworks/twitter/bootstrap/grid.less +8 -0
- data/vendor/frameworks/twitter/bootstrap/hero-unit.less +20 -0
- data/vendor/frameworks/twitter/bootstrap/labels.less +16 -0
- data/vendor/frameworks/twitter/bootstrap/layouts.less +17 -0
- data/vendor/frameworks/twitter/bootstrap/mixins.less +391 -76
- data/vendor/frameworks/twitter/bootstrap/modals.less +72 -0
- data/vendor/frameworks/twitter/bootstrap/navbar.less +292 -0
- data/vendor/frameworks/twitter/bootstrap/navs.less +343 -0
- data/vendor/frameworks/twitter/bootstrap/pager.less +30 -0
- data/vendor/frameworks/twitter/bootstrap/pagination.less +55 -0
- data/vendor/frameworks/twitter/bootstrap/patterns.less +5 -1052
- data/vendor/frameworks/twitter/bootstrap/popovers.less +49 -0
- data/vendor/frameworks/twitter/bootstrap/print.less +18 -0
- data/vendor/frameworks/twitter/bootstrap/progress-bars.less +95 -0
- data/vendor/frameworks/twitter/bootstrap/reset.less +37 -52
- data/vendor/frameworks/twitter/bootstrap/responsive.less +323 -0
- data/vendor/frameworks/twitter/bootstrap/scaffolding.less +13 -121
- data/vendor/frameworks/twitter/bootstrap/sprites.less +156 -0
- data/vendor/frameworks/twitter/bootstrap/tables.less +75 -160
- data/vendor/frameworks/twitter/bootstrap/thumbnails.less +35 -0
- data/vendor/frameworks/twitter/bootstrap/tooltip.less +35 -0
- data/vendor/frameworks/twitter/bootstrap/type.less +100 -70
- data/vendor/frameworks/twitter/bootstrap/utilities.less +23 -0
- data/vendor/frameworks/twitter/bootstrap/variables.less +94 -55
- data/vendor/frameworks/twitter/bootstrap/wells.less +17 -0
- metadata +44 -11
- data/vendor/assets/javascripts/twitter/bootstrap/alerts.js +0 -113
- data/vendor/assets/javascripts/twitter/bootstrap/buttons.js +0 -62
- data/vendor/assets/javascripts/twitter/bootstrap/tabs.js +0 -80
- data/vendor/assets/javascripts/twitter/bootstrap/twipsy.js +0 -310
@@ -0,0 +1,20 @@
|
|
1
|
+
// HERO UNIT
|
2
|
+
// ---------
|
3
|
+
|
4
|
+
.hero-unit {
|
5
|
+
padding: 60px;
|
6
|
+
margin-bottom: 30px;
|
7
|
+
background-color: #f5f5f5;
|
8
|
+
.border-radius(6px);
|
9
|
+
h1 {
|
10
|
+
margin-bottom: 0;
|
11
|
+
font-size: 60px;
|
12
|
+
line-height: 1;
|
13
|
+
letter-spacing: -1px;
|
14
|
+
}
|
15
|
+
p {
|
16
|
+
font-size: 18px;
|
17
|
+
font-weight: 200;
|
18
|
+
line-height: @baseLineHeight * 1.5;
|
19
|
+
}
|
20
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
// LABELS
|
2
|
+
// ------
|
3
|
+
|
4
|
+
.label {
|
5
|
+
padding: 1px 3px 2px;
|
6
|
+
font-size: @baseFontSize * .75;
|
7
|
+
font-weight: bold;
|
8
|
+
color: @white;
|
9
|
+
text-transform: uppercase;
|
10
|
+
background-color: @grayLight;
|
11
|
+
.border-radius(3px);
|
12
|
+
}
|
13
|
+
.label-important { background-color: @errorText; }
|
14
|
+
.label-warning { background-color: @orange; }
|
15
|
+
.label-success { background-color: @successText; }
|
16
|
+
.label-info { background-color: @infoText; }
|
@@ -0,0 +1,17 @@
|
|
1
|
+
//
|
2
|
+
// Layouts
|
3
|
+
// Fixed-width and fluid (with sidebar) layouts
|
4
|
+
// --------------------------------------------
|
5
|
+
|
6
|
+
|
7
|
+
// Container (centered, fixed-width layouts)
|
8
|
+
.container {
|
9
|
+
.container-fixed();
|
10
|
+
}
|
11
|
+
|
12
|
+
// Fluid layouts (left aligned, with sidebar, min- & max-width content)
|
13
|
+
.container-fluid {
|
14
|
+
padding-left: @gridGutterWidth;
|
15
|
+
padding-right: @gridGutterWidth;
|
16
|
+
.clearfix();
|
17
|
+
}
|
@@ -1,40 +1,86 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
// Mixins.less
|
2
|
+
// Snippets of reusable CSS to develop faster and keep code readable
|
3
|
+
// -----------------------------------------------------------------
|
4
4
|
|
5
5
|
|
6
|
-
//
|
6
|
+
// UTILITY MIXINS
|
7
|
+
// --------------------------------------------------
|
8
|
+
|
9
|
+
// Clearfix
|
10
|
+
// --------
|
11
|
+
// For clearing floats like a boss h5bp.com/q
|
7
12
|
.clearfix() {
|
8
|
-
zoom: 1;
|
13
|
+
*zoom: 1;
|
9
14
|
&:before,
|
10
15
|
&:after {
|
11
16
|
display: table;
|
12
17
|
content: "";
|
13
|
-
zoom: 1;
|
14
18
|
}
|
15
19
|
&:after {
|
16
20
|
clear: both;
|
17
21
|
}
|
18
22
|
}
|
19
23
|
|
24
|
+
// Webkit-style focus
|
25
|
+
// ------------------
|
26
|
+
.tab-focus() {
|
27
|
+
// Default
|
28
|
+
outline: thin dotted;
|
29
|
+
// Webkit
|
30
|
+
outline: 5px auto -webkit-focus-ring-color;
|
31
|
+
outline-offset: -2px;
|
32
|
+
}
|
33
|
+
|
20
34
|
// Center-align a block level element
|
35
|
+
// ----------------------------------
|
21
36
|
.center-block() {
|
22
37
|
display: block;
|
23
38
|
margin-left: auto;
|
24
39
|
margin-right: auto;
|
25
40
|
}
|
26
41
|
|
42
|
+
// IE7 inline-block
|
43
|
+
// ----------------
|
44
|
+
.ie7-inline-block() {
|
45
|
+
*display: inline; /* IE7 inline-block hack */
|
46
|
+
*zoom: 1;
|
47
|
+
}
|
48
|
+
|
49
|
+
// IE7 likes to collapse whitespace on either side of the inline-block elements.
|
50
|
+
// Ems because we're attempting to match the width of a space character. Left
|
51
|
+
// version is for form buttons, which typically come after other elements, and
|
52
|
+
// right version is for icons, which come before. Applying both is ok, but it will
|
53
|
+
// mean that space between those elements will be .6em (~2 space characters) in IE7,
|
54
|
+
// instead of the 1 space in other browsers.
|
55
|
+
.ie7-restore-left-whitespace() {
|
56
|
+
*margin-left: .3em;
|
57
|
+
|
58
|
+
&:first-child {
|
59
|
+
*margin-left: 0;
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
.ie7-restore-right-whitespace() {
|
64
|
+
*margin-right: .3em;
|
65
|
+
|
66
|
+
&:last-child {
|
67
|
+
*margin-left: 0;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
27
71
|
// Sizing shortcuts
|
72
|
+
// -------------------------
|
28
73
|
.size(@height: 5px, @width: 5px) {
|
29
|
-
height: @height;
|
30
74
|
width: @width;
|
75
|
+
height: @height;
|
31
76
|
}
|
32
77
|
.square(@size: 5px) {
|
33
78
|
.size(@size, @size);
|
34
79
|
}
|
35
80
|
|
36
|
-
//
|
37
|
-
|
81
|
+
// Placeholder text
|
82
|
+
// -------------------------
|
83
|
+
.placeholder(@color: @placeholderText) {
|
38
84
|
:-moz-placeholder {
|
39
85
|
color: @color;
|
40
86
|
}
|
@@ -43,58 +89,185 @@
|
|
43
89
|
}
|
44
90
|
}
|
45
91
|
|
46
|
-
|
92
|
+
|
93
|
+
|
94
|
+
// FONTS
|
95
|
+
// --------------------------------------------------
|
96
|
+
|
47
97
|
#font {
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
98
|
+
#family {
|
99
|
+
.serif() {
|
100
|
+
font-family: Georgia, "Times New Roman", Times, serif;
|
101
|
+
}
|
102
|
+
.sans-serif() {
|
103
|
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
104
|
+
}
|
105
|
+
.monospace() {
|
106
|
+
font-family: Menlo, Monaco, "Courier New", monospace;
|
107
|
+
}
|
52
108
|
}
|
53
|
-
.
|
54
|
-
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
109
|
+
.shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
55
110
|
font-size: @size;
|
56
111
|
font-weight: @weight;
|
57
112
|
line-height: @lineHeight;
|
58
113
|
}
|
59
|
-
.serif(@
|
60
|
-
font
|
61
|
-
font
|
62
|
-
font-weight: @weight;
|
63
|
-
line-height: @lineHeight;
|
114
|
+
.serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
115
|
+
#font > #family > .serif;
|
116
|
+
#font > .shorthand(@size, @weight, @lineHeight);
|
64
117
|
}
|
65
|
-
.
|
66
|
-
font
|
67
|
-
font
|
68
|
-
|
69
|
-
|
118
|
+
.sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
119
|
+
#font > #family > .sans-serif;
|
120
|
+
#font > .shorthand(@size, @weight, @lineHeight);
|
121
|
+
}
|
122
|
+
.monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) {
|
123
|
+
#font > #family > .monospace;
|
124
|
+
#font > .shorthand(@size, @weight, @lineHeight);
|
70
125
|
}
|
71
126
|
}
|
72
127
|
|
73
|
-
|
74
|
-
|
75
|
-
|
128
|
+
|
129
|
+
|
130
|
+
// GRID SYSTEM
|
131
|
+
// --------------------------------------------------
|
132
|
+
|
133
|
+
// Site container
|
134
|
+
// -------------------------
|
135
|
+
.container-fixed() {
|
136
|
+
width: @gridRowWidth;
|
76
137
|
margin-left: auto;
|
77
138
|
margin-right: auto;
|
78
139
|
.clearfix();
|
79
140
|
}
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
141
|
+
|
142
|
+
// Le grid system
|
143
|
+
// -------------------------
|
144
|
+
#gridSystem {
|
145
|
+
// Setup the mixins to be used
|
146
|
+
.columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) {
|
147
|
+
width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1));
|
148
|
+
}
|
149
|
+
.offset(@gridColumnWidth, @gridGutterWidth, @columns) {
|
150
|
+
margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)) + (@gridGutterWidth * 2);
|
151
|
+
}
|
152
|
+
.gridColumn(@gridGutterWidth) {
|
153
|
+
float: left;
|
154
|
+
margin-left: @gridGutterWidth;
|
155
|
+
}
|
156
|
+
// Take these values and mixins, and make 'em do their thang
|
157
|
+
.generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) {
|
158
|
+
// Row surrounds the columns
|
159
|
+
.row {
|
160
|
+
margin-left: @gridGutterWidth * -1;
|
161
|
+
.clearfix();
|
162
|
+
}
|
163
|
+
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
|
164
|
+
[class*="span"] {
|
165
|
+
#gridSystem > .gridColumn(@gridGutterWidth);
|
166
|
+
}
|
167
|
+
// Default columns
|
168
|
+
.span1 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); }
|
169
|
+
.span2 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); }
|
170
|
+
.span3 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); }
|
171
|
+
.span4 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); }
|
172
|
+
.span5 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); }
|
173
|
+
.span6 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); }
|
174
|
+
.span7 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); }
|
175
|
+
.span8 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); }
|
176
|
+
.span9 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); }
|
177
|
+
.span10 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); }
|
178
|
+
.span11 { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); }
|
179
|
+
.span12,
|
180
|
+
.container { #gridSystem > .columns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); }
|
181
|
+
// Offset column options
|
182
|
+
.offset1 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 1); }
|
183
|
+
.offset2 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 2); }
|
184
|
+
.offset3 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 3); }
|
185
|
+
.offset4 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 4); }
|
186
|
+
.offset5 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 5); }
|
187
|
+
.offset6 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 6); }
|
188
|
+
.offset7 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 7); }
|
189
|
+
.offset8 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 8); }
|
190
|
+
.offset9 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 9); }
|
191
|
+
.offset10 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 10); }
|
192
|
+
.offset11 { #gridSystem > .offset(@gridColumnWidth, @gridGutterWidth, 11); }
|
193
|
+
}
|
85
194
|
}
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
195
|
+
|
196
|
+
// Fluid grid system
|
197
|
+
// -------------------------
|
198
|
+
#fluidGridSystem {
|
199
|
+
// Setup the mixins to be used
|
200
|
+
.columns(@fluidGridGutterWidth, @fluidGridColumnWidth, @columns) {
|
201
|
+
width: 1% * (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1));
|
202
|
+
}
|
203
|
+
.gridColumn(@fluidGridGutterWidth) {
|
204
|
+
float: left;
|
205
|
+
margin-left: @fluidGridGutterWidth;
|
206
|
+
}
|
207
|
+
// Take these values and mixins, and make 'em do their thang
|
208
|
+
.generate(@gridColumns, @fluidGridColumnWidth, @fluidGridGutterWidth) {
|
209
|
+
// Row surrounds the columns
|
210
|
+
.row-fluid {
|
211
|
+
width: 100%;
|
212
|
+
.clearfix();
|
213
|
+
|
214
|
+
// Find all .span# classes within .row and give them the necessary properties for grid columns (supported by all browsers back to IE7, thanks @dhg)
|
215
|
+
> [class*="span"] {
|
216
|
+
#fluidGridSystem > .gridColumn(@fluidGridGutterWidth);
|
217
|
+
}
|
218
|
+
> [class*="span"]:first-child {
|
219
|
+
margin-left: 0;
|
220
|
+
}
|
221
|
+
// Default columns
|
222
|
+
.span1 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 1); }
|
223
|
+
.span2 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 2); }
|
224
|
+
.span3 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 3); }
|
225
|
+
.span4 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 4); }
|
226
|
+
.span5 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 5); }
|
227
|
+
.span6 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 6); }
|
228
|
+
.span7 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 7); }
|
229
|
+
.span8 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 8); }
|
230
|
+
.span9 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 9); }
|
231
|
+
.span10 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 10); }
|
232
|
+
.span11 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 11); }
|
233
|
+
.span12 { #fluidGridSystem > .columns(@fluidGridGutterWidth, @fluidGridColumnWidth, 12); }
|
234
|
+
}
|
235
|
+
}
|
91
236
|
}
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
// Input grid system
|
241
|
+
// -------------------------
|
242
|
+
#inputGridSystem {
|
243
|
+
.inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, @columns) {
|
244
|
+
width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 10;
|
245
|
+
}
|
246
|
+
.generate(@gridColumns, @gridColumnWidth, @gridGutterWidth) {
|
247
|
+
input,
|
248
|
+
textarea,
|
249
|
+
.uneditable-input {
|
250
|
+
&.span1 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 1); }
|
251
|
+
&.span2 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 2); }
|
252
|
+
&.span3 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 3); }
|
253
|
+
&.span4 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 4); }
|
254
|
+
&.span5 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 5); }
|
255
|
+
&.span6 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 6); }
|
256
|
+
&.span7 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 7); }
|
257
|
+
&.span8 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 8); }
|
258
|
+
&.span9 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 9); }
|
259
|
+
&.span10 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 10); }
|
260
|
+
&.span11 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 11); }
|
261
|
+
&.span12 { #inputGridSystem > .inputColumns(@gridGutterWidth, @gridColumnWidth, @gridRowWidth, 12); }
|
262
|
+
}
|
263
|
+
}
|
96
264
|
}
|
97
265
|
|
266
|
+
|
267
|
+
|
268
|
+
// CSS3 PROPERTIES
|
269
|
+
// --------------------------------------------------
|
270
|
+
|
98
271
|
// Border Radius
|
99
272
|
.border-radius(@radius: 5px) {
|
100
273
|
-webkit-border-radius: @radius;
|
@@ -111,22 +284,91 @@
|
|
111
284
|
|
112
285
|
// Transitions
|
113
286
|
.transition(@transition) {
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
287
|
+
-webkit-transition: @transition;
|
288
|
+
-moz-transition: @transition;
|
289
|
+
-ms-transition: @transition;
|
290
|
+
-o-transition: @transition;
|
291
|
+
transition: @transition;
|
292
|
+
}
|
293
|
+
|
294
|
+
// Transformations
|
295
|
+
.rotate(@degrees) {
|
296
|
+
-webkit-transform: rotate(@degrees);
|
297
|
+
-moz-transform: rotate(@degrees);
|
298
|
+
-ms-transform: rotate(@degrees);
|
299
|
+
-o-transform: rotate(@degrees);
|
300
|
+
transform: rotate(@degrees);
|
301
|
+
}
|
302
|
+
.scale(@ratio) {
|
303
|
+
-webkit-transform: scale(@ratio);
|
304
|
+
-moz-transform: scale(@ratio);
|
305
|
+
-ms-transform: scale(@ratio);
|
306
|
+
-o-transform: scale(@ratio);
|
307
|
+
transform: scale(@ratio);
|
308
|
+
}
|
309
|
+
.translate(@x: 0, @y: 0) {
|
310
|
+
-webkit-transform: translate(@x, @y);
|
311
|
+
-moz-transform: translate(@x, @y);
|
312
|
+
-ms-transform: translate(@x, @y);
|
313
|
+
-o-transform: translate(@x, @y);
|
314
|
+
transform: translate(@x, @y);
|
315
|
+
}
|
316
|
+
.skew(@x: 0, @y: 0) {
|
317
|
+
-webkit-transform: translate(@x, @y);
|
318
|
+
-moz-transform: translate(@x, @y);
|
319
|
+
-ms-transform: translate(@x, @y);
|
320
|
+
-o-transform: translate(@x, @y);
|
321
|
+
transform: translate(@x, @y);
|
322
|
+
}
|
323
|
+
.skew(@x: 0, @y: 0) {
|
324
|
+
-webkit-transform: skew(@x, @y);
|
325
|
+
-moz-transform: skew(@x, @y);
|
326
|
+
-ms-transform: skew(@x, @y);
|
327
|
+
-o-transform: skew(@x, @y);
|
328
|
+
transform: skew(@x, @y);
|
119
329
|
}
|
120
330
|
|
121
331
|
// Background clipping
|
332
|
+
// Heads up: FF 3.6 and under need "padding" instead of "padding-box"
|
122
333
|
.background-clip(@clip) {
|
123
334
|
-webkit-background-clip: @clip;
|
124
335
|
-moz-background-clip: @clip;
|
125
336
|
background-clip: @clip;
|
126
337
|
}
|
127
338
|
|
339
|
+
// Background sizing
|
340
|
+
.background-size(@size){
|
341
|
+
-webkit-background-size: @size;
|
342
|
+
-moz-background-size: @size;
|
343
|
+
-o-background-size: @size;
|
344
|
+
background-size: @size;
|
345
|
+
}
|
346
|
+
|
347
|
+
|
348
|
+
// Box sizing
|
349
|
+
.box-sizing(@boxmodel) {
|
350
|
+
-webkit-box-sizing: @boxmodel;
|
351
|
+
-moz-box-sizing: @boxmodel;
|
352
|
+
box-sizing: @boxmodel;
|
353
|
+
}
|
354
|
+
|
355
|
+
// User select
|
356
|
+
// For selecting text on the page
|
357
|
+
.user-select(@select) {
|
358
|
+
-webkit-user-select: @select;
|
359
|
+
-moz-user-select: @select;
|
360
|
+
-o-user-select: @select;
|
361
|
+
user-select: @select;
|
362
|
+
}
|
363
|
+
|
364
|
+
// Resize anything
|
365
|
+
.resizable(@direction: both) {
|
366
|
+
resize: @direction; // Options: horizontal, vertical, both
|
367
|
+
overflow: auto; // Safari fix
|
368
|
+
}
|
369
|
+
|
128
370
|
// CSS3 Content Columns
|
129
|
-
.content-columns(@columnCount, @columnGap:
|
371
|
+
.content-columns(@columnCount, @columnGap: @gridColumnGutter) {
|
130
372
|
-webkit-column-count: @columnCount;
|
131
373
|
-moz-column-count: @columnCount;
|
132
374
|
column-count: @columnCount;
|
@@ -135,12 +377,17 @@
|
|
135
377
|
column-gap: @columnGap;
|
136
378
|
}
|
137
379
|
|
138
|
-
//
|
139
|
-
.
|
140
|
-
|
141
|
-
|
380
|
+
// Opacity
|
381
|
+
.opacity(@opacity: 100) {
|
382
|
+
opacity: @opacity / 100;
|
383
|
+
filter: e(%("alpha(opacity=%d)", @opacity));
|
142
384
|
}
|
143
385
|
|
386
|
+
|
387
|
+
|
388
|
+
// BACKGROUNDS
|
389
|
+
// --------------------------------------------------
|
390
|
+
|
144
391
|
// Add an alphatransparency value to any background or border color (via Elyse Holladay)
|
145
392
|
#translucent {
|
146
393
|
.background(@color: @white, @alpha: 1) {
|
@@ -148,45 +395,42 @@
|
|
148
395
|
}
|
149
396
|
.border(@color: @white, @alpha: 1) {
|
150
397
|
border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha);
|
151
|
-
background-clip
|
398
|
+
.background-clip(padding-box);
|
152
399
|
}
|
153
400
|
}
|
154
401
|
|
155
|
-
// Gradient Bar Colors for buttons and
|
402
|
+
// Gradient Bar Colors for buttons and alerts
|
156
403
|
.gradientBar(@primaryColor, @secondaryColor) {
|
157
404
|
#gradient > .vertical(@primaryColor, @secondaryColor);
|
158
|
-
text-shadow: 0 -1px 0 rgba(0,0,0,.25);
|
159
405
|
border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);
|
160
406
|
border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);
|
161
407
|
}
|
162
408
|
|
163
409
|
// Gradients
|
164
410
|
#gradient {
|
165
|
-
.horizontal
|
411
|
+
.horizontal(@startColor: #555, @endColor: #333) {
|
166
412
|
background-color: @endColor;
|
167
|
-
background-repeat: repeat-x;
|
168
|
-
background-image: -khtml-gradient(linear, left top, right top, from(@startColor), to(@endColor)); // Konqueror
|
169
413
|
background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+
|
170
414
|
background-image: -ms-linear-gradient(left, @startColor, @endColor); // IE10
|
171
|
-
background-image: -webkit-gradient(linear,
|
415
|
+
background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
172
416
|
background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
173
417
|
background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10
|
174
418
|
background-image: linear-gradient(left, @startColor, @endColor); // Le standard
|
419
|
+
background-repeat: repeat-x;
|
175
420
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",@startColor,@endColor)); // IE9 and down
|
176
421
|
}
|
177
|
-
.vertical
|
178
|
-
background-color: @endColor;
|
179
|
-
background-repeat: repeat-x;
|
180
|
-
background-image: -khtml-gradient(linear, left top, left bottom, from(@startColor), to(@endColor)); // Konqueror
|
422
|
+
.vertical(@startColor: #555, @endColor: #333) {
|
423
|
+
background-color: mix(@startColor, @endColor, 60%);
|
181
424
|
background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+
|
182
425
|
background-image: -ms-linear-gradient(top, @startColor, @endColor); // IE10
|
183
|
-
background-image: -webkit-gradient(linear,
|
426
|
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+
|
184
427
|
background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+
|
185
428
|
background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10
|
186
429
|
background-image: linear-gradient(top, @startColor, @endColor); // The standard
|
430
|
+
background-repeat: repeat-x;
|
187
431
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down
|
188
432
|
}
|
189
|
-
.directional
|
433
|
+
.directional(@startColor: #555, @endColor: #333, @deg: 45deg) {
|
190
434
|
background-color: @endColor;
|
191
435
|
background-repeat: repeat-x;
|
192
436
|
background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+
|
@@ -196,27 +440,98 @@
|
|
196
440
|
background-image: linear-gradient(@deg, @startColor, @endColor); // The standard
|
197
441
|
}
|
198
442
|
.vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
|
199
|
-
background-color: @endColor;
|
200
|
-
background-repeat: no-repeat;
|
443
|
+
background-color: mix(@midColor, @endColor, 80%);
|
201
444
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor));
|
202
445
|
background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
203
446
|
background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor);
|
204
447
|
background-image: -ms-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
205
448
|
background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
206
449
|
background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor);
|
450
|
+
background-repeat: no-repeat;
|
207
451
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",@startColor,@endColor)); // IE9 and down, gets no color-stop at all for proper fallback
|
208
452
|
}
|
453
|
+
.radial(@innerColor: #555, @outerColor: #333) {
|
454
|
+
background-color: @outerColor;
|
455
|
+
background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor));
|
456
|
+
background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor);
|
457
|
+
background-image: -moz-radial-gradient(circle, @innerColor, @outerColor);
|
458
|
+
background-image: -ms-radial-gradient(circle, @innerColor, @outerColor);
|
459
|
+
background-repeat: no-repeat;
|
460
|
+
// Opera cannot do radial gradients yet
|
461
|
+
}
|
462
|
+
.striped(@color, @angle: -45deg) {
|
463
|
+
background-color: @color;
|
464
|
+
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent));
|
465
|
+
background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
466
|
+
background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
467
|
+
background-image: -ms-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
468
|
+
background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
469
|
+
background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent);
|
470
|
+
}
|
209
471
|
}
|
210
|
-
|
211
472
|
// Reset filters for IE
|
212
473
|
.reset-filter() {
|
213
474
|
filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)"));
|
214
475
|
}
|
215
476
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
477
|
+
|
478
|
+
// Mixin for generating button backgrounds
|
479
|
+
// ---------------------------------------
|
480
|
+
.buttonBackground(@startColor, @endColor) {
|
481
|
+
// gradientBar will set the background to a pleasing blend of these, to support IE<=9
|
482
|
+
.gradientBar(@startColor, @endColor);
|
483
|
+
.reset-filter();
|
484
|
+
|
485
|
+
// in these cases the gradient won't cover the background, so we override
|
486
|
+
&:hover, &:active, &.active, &.disabled, &[disabled] {
|
487
|
+
background-color: @endColor;
|
488
|
+
}
|
489
|
+
|
490
|
+
// IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves
|
491
|
+
&:active,
|
492
|
+
&.active {
|
493
|
+
background-color: darken(@endColor, 10%) e("\9");
|
494
|
+
}
|
495
|
+
}
|
496
|
+
|
497
|
+
|
498
|
+
// COMPONENT MIXINS
|
499
|
+
// --------------------------------------------------
|
500
|
+
|
501
|
+
// POPOVER ARROWS
|
502
|
+
// -------------------------
|
503
|
+
// For tipsies and popovers
|
504
|
+
#popoverArrow {
|
505
|
+
.top(@arrowWidth: 5px) {
|
506
|
+
bottom: 0;
|
507
|
+
left: 50%;
|
508
|
+
margin-left: -@arrowWidth;
|
509
|
+
border-left: @arrowWidth solid transparent;
|
510
|
+
border-right: @arrowWidth solid transparent;
|
511
|
+
border-top: @arrowWidth solid @black;
|
512
|
+
}
|
513
|
+
.left(@arrowWidth: 5px) {
|
514
|
+
top: 50%;
|
515
|
+
right: 0;
|
516
|
+
margin-top: -@arrowWidth;
|
517
|
+
border-top: @arrowWidth solid transparent;
|
518
|
+
border-bottom: @arrowWidth solid transparent;
|
519
|
+
border-left: @arrowWidth solid @black;
|
520
|
+
}
|
521
|
+
.bottom(@arrowWidth: 5px) {
|
522
|
+
top: 0;
|
523
|
+
left: 50%;
|
524
|
+
margin-left: -@arrowWidth;
|
525
|
+
border-left: @arrowWidth solid transparent;
|
526
|
+
border-right: @arrowWidth solid transparent;
|
527
|
+
border-bottom: @arrowWidth solid @black;
|
528
|
+
}
|
529
|
+
.right(@arrowWidth: 5px) {
|
530
|
+
top: 50%;
|
531
|
+
left: 0;
|
532
|
+
margin-top: -@arrowWidth;
|
533
|
+
border-top: @arrowWidth solid transparent;
|
534
|
+
border-bottom: @arrowWidth solid transparent;
|
535
|
+
border-right: @arrowWidth solid @black;
|
536
|
+
}
|
537
|
+
}
|