picasso 0.5.2 → 0.6.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.
@@ -1,3 +1,3 @@
1
1
  module Picasso
2
- VERSION = "0.5.2"
2
+ VERSION = "0.6.0"
3
3
  end
@@ -2,12 +2,13 @@
2
2
 
3
3
  // Grilla responsiva a 12 columnas (o mas).
4
4
 
5
+ // #### Manejo de columnas y filas
6
+
5
7
  // Cada set de columnas tiene un ancho porcentual. El elemento que haga uso de un espacio debe tener la clase `colX`,
6
8
  // en donde *X* es el número de columnas a ocupar. Las columnas definidas siempre deben estar contenidas por un elemento con la clase `row-col`.
9
+ // En caso de utilizar la clase `col0` la misma quedará oculta.
7
10
 
8
- // ### Ejemplos
9
-
10
- // #### Simétrico
11
+ // ##### Ejemplo1: Simétrico
11
12
 
12
13
  // ```
13
14
  // <div class="row-col">
@@ -52,7 +53,7 @@
52
53
  // </div>
53
54
  // ```
54
55
 
55
- // #### Asim&eacute;trico
56
+ // ##### Ejemplo2: Asim&eacute;trico
56
57
 
57
58
  // ```
58
59
  // <div class="row-col">
@@ -77,7 +78,7 @@
77
78
  // </div>
78
79
  // ```
79
80
 
80
- // #### Anidado
81
+ // ##### Ejemplo3: Anidado
81
82
 
82
83
  // ```
83
84
  // <div class="row-col">
@@ -120,39 +121,200 @@
120
121
  // </div>
121
122
  // ```
122
123
 
124
+ // #### Clases responsivas
125
+
126
+ // La grilla ofrece una serie de clases para poder manejar el comportamiento de las columnas ante diferentes resoluciones.
127
+ // Las clases disponibles son: `colX-small` (máximo 480px), `colX-medium` (entre 481px y 800px) y `colX-large` (entre 801px y 1024px):
128
+
129
+ // ##### Ejemplo 1
130
+ //
131
+ // Comportamiento esperado:
132
+ //
133
+ // - 12 columnas de 1 unidad
134
+ // - Large: 10 columnas de 1 unidad
135
+ // - Medium: 8 columnas de 1 unidad
136
+ // - Small: 6 columnas de 1 unidad
137
+
138
+ // ```
139
+ // <div class="row-col">
140
+ // <div class="col1">1</div>
141
+ // <div class="col1">2</div>
142
+ // <div class="col1">3</div>
143
+ // <div class="col1">4</div>
144
+ // <div class="col1">5</div>
145
+ // <div class="col1">6</div>
146
+ // <div class="col1 col0-small">7</div>
147
+ // <div class="col1 col0-small">8</div>
148
+ // <div class="col1 col0-medium col0-small">9</div>
149
+ // <div class="col1 col0-medium col0-small">10</div>
150
+ // <div class="col1 col0-large col0-medium col0-small">11</div>
151
+ // <div class="col1 col0-large col0-medium col0-small">12</div>
152
+ // </div>
153
+ // ```
154
+
155
+ // ##### Ejemplo 2
156
+ //
157
+ // Comportamiento esperado:
158
+ //
159
+ // - 12 columnas de 1 unidad
160
+ // - Large: 6 columnas de 2 unidades
161
+ // - Medium: 4 columnas de 3 unidades
162
+ // - Small: 2 columnas de 6 unidades
163
+
164
+ // ```
165
+ // <div class="row-col">
166
+ // <div class="col1 col2-large col3-medium col6-small">1</div>
167
+ // <div class="col1 col2-large col3-medium col6-small">2</div>
168
+ // <div class="col1 col2-large col3-medium col0-small">3</div>
169
+ // <div class="col1 col2-large col3-medium col0-small">4</div>
170
+ // <div class="col1 col2-large col0-medium col0-small">5</div>
171
+ // <div class="col1 col2-large col0-medium col0-small">6</div>
172
+ // <div class="col1 col0-large col0-medium col0-small">7</div>
173
+ // <div class="col1 col0-large col0-medium col0-small">8</div>
174
+ // <div class="col1 col0-large col0-medium col0-small">9</div>
175
+ // <div class="col1 col0-large col0-medium col0-small">10</div>
176
+ // <div class="col1 col0-large col0-medium col0-small">11</div>
177
+ // <div class="col1 col0-large col0-medium col0-small">12</div>
178
+ // </div>
179
+ // ```
180
+
181
+ // ##### Ejemplo 3
182
+ //
183
+ // Comportamiento esperado:
184
+ //
185
+ // - 4 columnas de 3 unidades
186
+ // - Large: 3 columnas de 4 unidades (la primera columna debe ser 2)
187
+ // - Medium: 2 columnas de 6 unidades (la primera columna debe ser 3)
188
+ // - Small: 1 columna de 12 unidades (la única columna debe ser 4)
189
+
190
+ // ```
191
+ // <div class="row-col">
192
+ // <div class="col3 col0-large col0-medium col0-small">1</div>
193
+ // <div class="col3 col4-large first-large col0-medium col0-small">2</div>
194
+ // <div class="col3 col4-large col6-medium first-medium col0-small">3</div>
195
+ // <div class="col3 col4-large col6-medium col12-small first-small">4</div>
196
+ // </div>
197
+ // ```
198
+
199
+ // > Notar que se utiliza la clase `first-<size>`.
200
+ // La misma permite aplicar aplicar a una columna que no es primera como si lo fuera.
201
+ // Caso contrario la misma tendrá un margen izquierdo por defecto.
202
+
123
203
  // #### Offset
124
204
 
125
- // La grilla ofrece la psibilidad de utilizar offsets, los mismos se manejan a trav&eacute;s de la clase `offsetX`:
205
+ // La grilla ofrece la posibilidad de utilizar aplicar márgenes, los mismos se manejan a trav&eacute;s de la clase `offsetX`.
206
+ // A su vez también se encuentran disponibles clases para el manejo de offsets ante diferentes resoluciones.
207
+ // Las clases disponibles son: `offsetX-small`, `offsetX-medium` y `offsetX-large`:
208
+
209
+ // ##### Ejemplo 1
210
+ //
211
+ // - 4 columnas de 1 unidad separadas cada una por 2 unidades
126
212
 
127
213
  // ```
128
214
  // <div class="row-col">
129
- // <div class="col1">col1</div>
130
- // <div class="col2 offset1">col2 offset1</div>
131
- // <div class="col2 offset1">col2 offset1</div>
132
- // <div class="col2 offset1">col2 offset1</div>
133
- // <div class="col1 offset1">col1 1</div>
215
+ // <div class="col1 offset2">1</div>
216
+ // <div class="col1 offset2">2</div>
217
+ // <div class="col1 offset2">3</div>
218
+ // <div class="col1 offset2">4</div>
134
219
  // </div>
220
+ // ```
221
+
222
+ // ##### Ejemplo 2
223
+ //
224
+ // Comportamiento esperado:
225
+ //
226
+ // - 4 columnas de 1 unidad separadas cada una por 2 unidades
227
+ // - Large: 3 columnas de 1 unidad separadas cada una por 3 unidades
228
+ // - Medium: 2 columnas de 1 unidad separadas cada una por 5 unidades
229
+ // - Small: 1 columna de 1 unidad separada a 11 unidades
230
+
231
+ // ```
135
232
  // <div class="row-col">
136
- // <div class="col2">col2</div>
137
- // <div class="col4 offset2">col2 offset2</div>
138
- // <div class="col2 offset2">col2 offset2</div>
233
+ // <div class="col1 offset2 offset3-large offset5-medium offset11-small">1</div>
234
+ // <div class="col1 offset2 offset3-large offset5-medium col0-small">2</div>
235
+ // <div class="col1 offset2 offset3-large col0-medium col0-small">3</div>
236
+ // <div class="col1 offset2 col0-large col0-medium col0-small">4</div>
139
237
  // </div>
238
+ // ```
239
+
240
+ // #### Pull / Push
241
+
242
+ // La grilla ofrece la posibilidad de utilizar posicionamiento relativo, los mismos se manejan a trav&eacute;s de las clases `pullX` y `pushX`.
243
+ // A su vez también se encuentran disponibles clases para el manejo de posiciones ante diferentes resoluciones.
244
+ // Las clases disponibles son: `pullX-small`/`pushX-small`, `pullX-medium`/`pushX-medium` y `pullX-large`/`pushX-large`:
245
+
246
+ // ##### Ejemplo 1
247
+ //
248
+ // - 2 columnas de 6 unidades (orden inverso)
249
+
250
+ // ```
140
251
  // <div class="row-col">
141
- // <div class="col4">col4</div>
142
- // <div class="col2 offset1">col2 offset1</div>
143
- // <div class="col4 offset1">col4 offset1</div>
252
+ // <div class="col6 push6">1</div>
253
+ // <div class="col6 pull6">2</div>
144
254
  // </div>
255
+ // ```
256
+
257
+ // ##### Ejemplo 2
258
+ //
259
+ // - 12 columnas de 1 unidad (orden inverso)
260
+
261
+ // ```
145
262
  // <div class="row-col">
146
- // <div class="col5">col5</div>
147
- // <div class="col5 offset2">col5 offset2</div>
263
+ // <div class="col1 push11">1</div>
264
+ // <div class="col1 push9">2</div>
265
+ // <div class="col1 push7">3</div>
266
+ // <div class="col1 push5">4</div>
267
+ // <div class="col1 push3">5</div>
268
+ // <div class="col1 push1">6</div>
269
+ // <div class="col1 pull1">7</div>
270
+ // <div class="col1 pull3">8</div>
271
+ // <div class="col1 pull5">9</div>
272
+ // <div class="col1 pull7">10</div>
273
+ // <div class="col1 pull9">11</div>
274
+ // <div class="col1 pull11">12</div>
148
275
  // </div>
276
+ // ```
277
+
278
+ // ##### Ejemplo 3
279
+ //
280
+ // Comportamiento esperado:
281
+ //
282
+ // - 4 columnas de 3 unidades (orden normal)
283
+ // - Large: 4 columnas de 3 unidades (orden inverso)
284
+ // - Medium: 4 columnas de 3 unidades (orden impares primero)
285
+ // - Small: 4 columnas de 3 unidades (orden pares primero)
286
+
287
+ // ```
149
288
  // <div class="row-col">
150
- // <div class="col1 offset2">col1 2</div>
151
- // <div class="col2 offset2">col1 offset2</div>
152
- // <div class="col1 offset2">col1 2</div>
289
+ // <div class="col3 push9-large push6-small">1</div>
290
+ // <div class="col3 push3-large push3-medium pull3-small">2</div>
291
+ // <div class="col3 pull3-large pull3-medium push3-small">3</div>
292
+ // <div class="col3 pull9-large pull6-small">4</div>
153
293
  // </div>
154
294
  // ```
155
295
 
296
+ // #### Centered
297
+
298
+ // La grilla ofrece la posibilidad de posicionar una columna de manera centrada a trav&eacute;s de la clase `centered`.
299
+ // A su vez también se encuentran disponibles clases para el manejo ante diferentes resoluciones.
300
+ // Las clases disponibles son: `centered-small`, `centered-medium` y `centered-large`:
301
+
302
+ // ##### Ejemplo 1
303
+ //
304
+ // Comportamiento esperado:
305
+ //
306
+ // - 1 columna de 4 unidades sin centrar
307
+ // - Large: 1 columna de 4 unidades centrada
308
+ // - Medium: 1 columnas de 4 unidades sin centrar
309
+ // - Small: 1 columnas de 4 unidades centrada
310
+
311
+ // ```
312
+ // <div class="row-col">
313
+ // <div class="col4 centered-large centered-small">1</div>
314
+ // </div>
315
+ // ```
316
+
317
+
156
318
  // ### Sass
157
319
 
158
320
  // #### Import
@@ -172,9 +334,15 @@
172
334
  // * `$grid-default-row-class`: Nombre de la clase para el contenedor (`row-col`). Valor predeterminado: `row-col`.
173
335
  // * `$grid-default-column-class`: Nombre de la clase para las columnas (`colX`). Valor predeterminado: `col`.
174
336
  // * `$grid-default-offset-class`: Nombre de la clase para aplicar offset (`offsetX`). Valor predeterminado: `offset`.
337
+ // * `$grid-default-centered-class`: Nombre de la clase para aplicar el centrado de columnas (`centered`). Valor predeterminado: `centered`.
338
+ // * `$grid-default-pull-class`: Nombre de la clase para aplicar pull (`pullX`). Valor predeterminado: `pull`.
339
+ // * `$grid-default-push-class`: Nombre de la clase para aplicar push (`pushX`). Valor predeterminado: `push`.
340
+ // * `$grid-default-first-class`: Nombre de la clase para aplicar el comportamiento de primeras columnas (`first`). Valor predeterminado: `first`.
175
341
  // * `$grid-default-container-class`: Nombre de la clase para el contenedor principal (`container`). Valor predeterminado: `container`.
176
342
  // * `$grid-default-include-offset`: Incluir estilos para aplicar offset. Valor predeterminado: `true`.
177
343
  // * `$grid-default-include-container`: Incluir estilos para el contenedor. Valor predeterminado: `true`.
344
+ // * `$grid-default-include-push`: Incluir estilos para aplicar push. Valor predeterminado: `true`.
345
+ // * `$grid-default-include-pull`: Incluir estilos para aplicar pull. Valor predeterminado: `true`.
178
346
 
179
347
 
180
348
  @import "compass/css3/box-sizing";
@@ -185,8 +353,14 @@ $grid-default-row-class: "row-col" !default;
185
353
  $grid-default-column-class: "col" !default;
186
354
  $grid-default-offset-class: "offset" !default;
187
355
  $grid-default-container-class: "container" !default;
356
+ $grid-default-centered-class: "centered" !default;
357
+ $grid-default-first-class: "first" !default;
358
+ $grid-default-pull-class: "pull" !default;
359
+ $grid-default-push-class: "push" !default;
188
360
  $grid-default-include-container: true !default;
189
361
  $grid-default-include-offset: true !default;
362
+ $grid-default-include-pull: true !default;
363
+ $grid-default-include-push: true !default;
190
364
 
191
365
  @mixin grid(){
192
366
 
@@ -194,21 +368,29 @@ $grid-default-include-offset: true !default;
194
368
  @include grid-container();
195
369
  }
196
370
 
197
- @include grid-columns();
371
+ .#{$grid-default-row-class} {
372
+ width: 100%;
373
+ @include clearfix;
198
374
 
199
- }
375
+ @include grid-columns("");
200
376
 
201
- @mixin grid-container(){
377
+ @media (max-width: 480px){
378
+ @include grid-columns("-small");
379
+ }
380
+
381
+ @media (min-width: 481px) and (max-width: 800px){
382
+ @include grid-columns("-medium");
383
+ }
384
+
385
+ @media (min-width: 801px) and (max-width: 1024px){
386
+ @include grid-columns("-large");
387
+ }
202
388
 
203
- .#{$grid-default-container-class} {
204
- width: 90%;
205
- max-width: 1200px;
206
- min-width: 950px;
207
389
  }
208
390
 
209
391
  }
210
392
 
211
- @mixin grid-columns(){
393
+ @mixin grid-columns($grid-size){
212
394
 
213
395
  $grid-gutters: $grid-default-columns - 1;
214
396
  $grid-space-width: 100% / $grid-default-columns;
@@ -217,56 +399,105 @@ $grid-default-include-offset: true !default;
217
399
  $grid-column-unit-width: ($grid-space-unit-width * 3) + $grid-corrector;
218
400
  $grid-gutter-unit-width: $grid-space-unit-width + $grid-corrector;
219
401
  $grid-magic-number-ie: 0.092;
220
-
221
- .#{$grid-default-row-class} {
402
+
403
+ [class^="#{$grid-default-column-class}#{$grid-size}"]{
222
404
  width: 100%;
223
- @include clearfix;
405
+ display: block;
406
+ float: left;
407
+ margin-left: $grid-gutter-unit-width;
408
+ @include box-sizing(border-box);
224
409
 
225
- [class^="#{$grid-default-column-class}"]{
226
- width: 100%;
227
- display: block;
228
- float: left;
229
- margin-left: $grid-gutter-unit-width;
230
- @include box-sizing(border-box);
410
+ &:first-child{
411
+ margin-left: 0;
412
+ }
231
413
 
232
- &:first-child{
233
- margin-left: 0;
234
- }
414
+ }
415
+
416
+ @if ($grid-default-include-pull == true) {
235
417
 
418
+ [class*="#{$grid-default-pull-class}"], [class*="#{$grid-default-push-class}"]{
419
+ position: relative;
236
420
  }
237
421
 
238
- @for $i from 1 through $grid-default-columns {
239
-
240
- $grid-column-width: ($grid-column-unit-width * $i) + ($grid-gutter-unit-width * ($i - 1));
422
+ }
241
423
 
242
- .#{$grid-default-column-class}#{$i} {
243
- width: $grid-column-width;
424
+ //Estilos para cada columna
425
+ @for $i from 1 through $grid-default-columns {
426
+
427
+ //Cálculo del ancho de las columnas
428
+ $grid-column-width: ($grid-column-unit-width * $i) + ($grid-gutter-unit-width * ($i - 1));
244
429
 
245
- @if $i != $grid-default-columns {
430
+ .#{$grid-default-column-class}#{$i}#{$grid-size}{
431
+ width: $grid-column-width;
246
432
 
247
- .ie7 &{
248
- width: $grid-column-width - $grid-magic-number-ie;
249
- }
433
+ @if ($i != $grid-default-columns and $grid-size == "") {
250
434
 
435
+ .ie7 &{
436
+ width: $grid-column-width - $grid-magic-number-ie;
251
437
  }
252
438
 
253
439
  }
254
440
 
255
- @if $grid-default-include-offset == true {
441
+ }
442
+
443
+ //Offset
444
+ @if ($grid-default-include-offset == true) {
256
445
 
257
- [class^="#{$grid-default-column-class}"].#{$grid-default-offset-class}#{$i}{
258
- margin-left: $grid-column-width + ($grid-space-unit-width * 2);
446
+ .#{$grid-default-offset-class}#{$i}#{$grid-size},
447
+ .#{$grid-default-offset-class}#{$i}#{$grid-size}:first-child{
448
+ margin-left: $grid-column-width;
449
+ }
259
450
 
260
- &:first-child{
261
- margin-left: $grid-column-width + $grid-space-unit-width;
262
- }
451
+ }
452
+
453
+ //Push
454
+ @if ($grid-default-include-push == true) {
263
455
 
264
- }
456
+ .#{$grid-default-push-class}#{$i}#{$grid-size},
457
+ .#{$grid-default-push-class}#{$i}#{$grid-size}:first-child{
458
+ left: $grid-column-width + $grid-gutter-unit-width;
459
+ }
460
+
461
+ }
265
462
 
463
+ //Pull
464
+ @if ($grid-default-include-pull == true) {
465
+
466
+ .#{$grid-default-pull-class}#{$i}#{$grid-size},
467
+ .#{$grid-default-pull-class}#{$i}#{$grid-size}:first-child{
468
+ left: -($grid-column-width + $grid-gutter-unit-width);
266
469
  }
267
470
 
268
471
  }
269
472
 
270
473
  }
474
+
475
+ //Clase helper para las primeras columnas que no lo son
476
+ .#{$grid-default-first-class}#{$grid-size}{
477
+ margin-left: 0;
478
+ }
271
479
 
272
- }
480
+ //Clase para ocultar columnas
481
+ .#{$grid-default-column-class}0#{$grid-size}{
482
+ display: none;
483
+ }
484
+
485
+ //Clase para columnas centradas
486
+ .#{$grid-default-centered-class}#{$grid-size},
487
+ .#{$grid-default-centered-class}#{$grid-size}:first-child {
488
+ margin-left: auto;
489
+ margin-right: auto;
490
+ float: none;
491
+ }
492
+
493
+ }
494
+
495
+ @mixin grid-container(){
496
+
497
+ .#{$grid-default-container-class} {
498
+ width: 90%;
499
+ max-width: 1200px;
500
+ min-width: 950px;
501
+ }
502
+
503
+ }