sass-flexi 0.1.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/sass-flexi.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'compass'
2
+ extension_path = File.expand_path(File.join(File.dirname(__FILE__), ".."))
3
+ Compass::Frameworks.register('sass-flexi', :path => extension_path)
@@ -0,0 +1,5 @@
1
+ // This is your framework's main stylesheet. Use it to import all default modules.
2
+
3
+ @import "bundle/normalize";
4
+ @import "bundle/grid";
5
+ @import "bundle/typography";
@@ -0,0 +1,141 @@
1
+ //===========================
2
+ // felxi-grids bundle
3
+ // created by : MrAhmad
4
+ // date : 10 June 2014
5
+ // website : http://sass-flexi.com/
6
+ // version : 0.1.alpha.1
7
+ //============================
8
+
9
+ //============================
10
+ // Description :
11
+ // this the heart of flexi-grid framework, will include all the mixin and the placeholders
12
+ //=============================
13
+
14
+ // 1- flexi-grid variables
15
+ $gutter-width : 30 !default;
16
+ $total-columns : 12 !default;
17
+
18
+ // 2- flexi-grid mixin
19
+
20
+ // define the clearfix hack
21
+ %clear {
22
+ &:before,&:after{
23
+ content: " ";
24
+ display: table;
25
+ }
26
+ &:after{
27
+ clear: both;
28
+ }
29
+ }
30
+
31
+ // define the column shape
32
+ %column{
33
+ min-height: 1px;
34
+ position: relative;
35
+ padding-left: ($gutter-width/2) * 1px;
36
+ padding-right: ($gutter-width/2) * 1px;
37
+ }
38
+
39
+ // define the box sizing
40
+ @mixin box-sizing($type:border-box) {
41
+ -webkit-box-sizing: $type;
42
+ -moz-box-sizing: $type;
43
+ box-sizing: $type;
44
+ }
45
+
46
+ // define the container for the grid system
47
+ @mixin container($gutter-width:30) {
48
+ margin : 0 auto; // centering the page contents
49
+ padding-left: ($gutter-width/2) * 1px;
50
+ padding-right: ($gutter-width/2) * 1px;
51
+ @extend %clear;
52
+ }
53
+
54
+ // define the raw for the grid system, used to create horizantal of columns
55
+ @mixin row($gutter-width:30) {
56
+ margin-left: ($gutter-width/-2) * 1px;
57
+ margin-right: ($gutter-width/-2) * 1px;
58
+ *zoom: 1;
59
+ @extend %clear;
60
+ }
61
+
62
+ // define center block
63
+ @mixin center-block() {
64
+ margin: 0 auto;
65
+ display: block;
66
+ }
67
+
68
+ // define center image
69
+ @mixin center-img() {
70
+ margin: 0 auto;
71
+ display: block;;
72
+ }
73
+
74
+ // define image for samll medias
75
+ @mixin img-respon() {
76
+ max-width: 100%;
77
+ height: auto;
78
+ }
79
+
80
+ // define the width for any element,class, or ID
81
+ @mixin width($no-columns,$total-columns:12) {
82
+ width: floor(percentage($no-columns/$total-columns));
83
+ }
84
+
85
+
86
+ // Generate the columns for the grid system
87
+ @mixin columns($property:col,$total-columns:12) {
88
+ @for $i from 1 through $total-columns {
89
+ .#{$property}-#{$i}{
90
+ @extend %column;
91
+ }
92
+ }
93
+ }
94
+
95
+ // define the width,offest,push, and pull for the grid system
96
+
97
+ // column width
98
+ @mixin column-width($property:col,$total-columns:12) {
99
+ @for $i from 1 through $total-columns {
100
+ .#{$property}-#{$i}{
101
+ width: ((100/$total-columns)*$i) *1%;
102
+ }
103
+ }
104
+ }
105
+
106
+ // column offset
107
+ @mixin offset($property:offset,$total-columns:12){
108
+ @for $i from 1 through $total-columns{
109
+ .#{$property}-#{$i}{
110
+ margin-right: ((100/$total-columns)*$i) *1%;
111
+ }
112
+ }
113
+ }
114
+
115
+ // column push
116
+ @mixin push($property:push,$total-columns:12){
117
+ @for $i from 1 through $total-columns{
118
+ .#{$property}-#{$i}{
119
+ left: ((100/$total-columns)*$i) *1%;
120
+ }
121
+ }
122
+ }
123
+
124
+ // column pull
125
+ @mixin pull($property:pull,$total-columns:12){
126
+ @for $i from 1 through $total-columns{
127
+ .#{$property}-#{$i}{
128
+ right: ((100/$total-columns)*$i) *1%;
129
+ }
130
+ }
131
+ }
132
+
133
+
134
+ // float column
135
+ @mixin direction($property:col,$total-columns:12){
136
+ @for $i from 1 through $total-columns{
137
+ .#{$property}-#{$i}{
138
+ @extend %float;
139
+ }
140
+ }
141
+ }
@@ -0,0 +1,425 @@
1
+ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */
2
+
3
+ /**
4
+ * 1. Set default font family to sans-serif.
5
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
6
+ * user zoom.
7
+ */
8
+
9
+ html {
10
+ font-family: sans-serif; /* 1 */
11
+ -ms-text-size-adjust: 100%; /* 2 */
12
+ -webkit-text-size-adjust: 100%; /* 2 */
13
+ }
14
+
15
+ /**
16
+ * Remove default margin.
17
+ */
18
+
19
+ body {
20
+ margin: 0;
21
+ }
22
+
23
+ /* HTML5 display definitions
24
+ ========================================================================== */
25
+
26
+ /**
27
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
28
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.
29
+ * Correct `block` display not defined for `main` in IE 11.
30
+ */
31
+
32
+ article,
33
+ aside,
34
+ details,
35
+ figcaption,
36
+ figure,
37
+ footer,
38
+ header,
39
+ hgroup,
40
+ main,
41
+ nav,
42
+ section,
43
+ summary {
44
+ display: block;
45
+ }
46
+
47
+ /**
48
+ * 1. Correct `inline-block` display not defined in IE 8/9.
49
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
50
+ */
51
+
52
+ audio,
53
+ canvas,
54
+ progress,
55
+ video {
56
+ display: inline-block; /* 1 */
57
+ vertical-align: baseline; /* 2 */
58
+ }
59
+
60
+ /**
61
+ * Prevent modern browsers from displaying `audio` without controls.
62
+ * Remove excess height in iOS 5 devices.
63
+ */
64
+
65
+ audio:not([controls]) {
66
+ display: none;
67
+ height: 0;
68
+ }
69
+
70
+ /**
71
+ * Address `[hidden]` styling not present in IE 8/9/10.
72
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
73
+ */
74
+
75
+ [hidden],
76
+ template {
77
+ display: none;
78
+ }
79
+
80
+ /* Links
81
+ ========================================================================== */
82
+
83
+ /**
84
+ * Remove the gray background color from active links in IE 10.
85
+ */
86
+
87
+ a {
88
+ background: transparent;
89
+ }
90
+
91
+ /**
92
+ * Improve readability when focused and also mouse hovered in all browsers.
93
+ */
94
+
95
+ a:active,
96
+ a:hover {
97
+ outline: 0;
98
+ }
99
+
100
+ /* Text-level semantics
101
+ ========================================================================== */
102
+
103
+ /**
104
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
105
+ */
106
+
107
+ abbr[title] {
108
+ border-bottom: 1px dotted;
109
+ }
110
+
111
+ /**
112
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
113
+ */
114
+
115
+ b,
116
+ strong {
117
+ font-weight: bold;
118
+ }
119
+
120
+ /**
121
+ * Address styling not present in Safari and Chrome.
122
+ */
123
+
124
+ dfn {
125
+ font-style: italic;
126
+ }
127
+
128
+ /**
129
+ * Address variable `h1` font-size and margin within `section` and `article`
130
+ * contexts in Firefox 4+, Safari, and Chrome.
131
+ */
132
+
133
+ h1 {
134
+ font-size: 2em;
135
+ margin: 0.67em 0;
136
+ }
137
+
138
+ /**
139
+ * Address styling not present in IE 8/9.
140
+ */
141
+
142
+ mark {
143
+ background: #ff0;
144
+ color: #000;
145
+ }
146
+
147
+ /**
148
+ * Address inconsistent and variable font size in all browsers.
149
+ */
150
+
151
+ small {
152
+ font-size: 80%;
153
+ }
154
+
155
+ /**
156
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
157
+ */
158
+
159
+ sub,
160
+ sup {
161
+ font-size: 75%;
162
+ line-height: 0;
163
+ position: relative;
164
+ vertical-align: baseline;
165
+ }
166
+
167
+ sup {
168
+ top: -0.5em;
169
+ }
170
+
171
+ sub {
172
+ bottom: -0.25em;
173
+ }
174
+
175
+ /* Embedded content
176
+ ========================================================================== */
177
+
178
+ /**
179
+ * Remove border when inside `a` element in IE 8/9/10.
180
+ */
181
+
182
+ img {
183
+ border: 0;
184
+ }
185
+
186
+ /**
187
+ * Correct overflow not hidden in IE 9/10/11.
188
+ */
189
+
190
+ svg:not(:root) {
191
+ overflow: hidden;
192
+ }
193
+
194
+ /* Grouping content
195
+ ========================================================================== */
196
+
197
+ /**
198
+ * Address margin not present in IE 8/9 and Safari.
199
+ */
200
+
201
+ figure {
202
+ margin: 1em 40px;
203
+ }
204
+
205
+ /**
206
+ * Address differences between Firefox and other browsers.
207
+ */
208
+
209
+ hr {
210
+ -moz-box-sizing: content-box;
211
+ box-sizing: content-box;
212
+ height: 0;
213
+ }
214
+
215
+ /**
216
+ * Contain overflow in all browsers.
217
+ */
218
+
219
+ pre {
220
+ overflow: auto;
221
+ }
222
+
223
+ /**
224
+ * Address odd `em`-unit font size rendering in all browsers.
225
+ */
226
+
227
+ code,
228
+ kbd,
229
+ pre,
230
+ samp {
231
+ font-family: monospace, monospace;
232
+ font-size: 1em;
233
+ }
234
+
235
+ /* Forms
236
+ ========================================================================== */
237
+
238
+ /**
239
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
240
+ * styling of `select`, unless a `border` property is set.
241
+ */
242
+
243
+ /**
244
+ * 1. Correct color not being inherited.
245
+ * Known issue: affects color of disabled elements.
246
+ * 2. Correct font properties not being inherited.
247
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
248
+ */
249
+
250
+ button,
251
+ input,
252
+ optgroup,
253
+ select,
254
+ textarea {
255
+ color: inherit; /* 1 */
256
+ font: inherit; /* 2 */
257
+ margin: 0; /* 3 */
258
+ }
259
+
260
+ /**
261
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
262
+ */
263
+
264
+ button {
265
+ overflow: visible;
266
+ }
267
+
268
+ /**
269
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
270
+ * All other form control elements do not inherit `text-transform` values.
271
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
272
+ * Correct `select` style inheritance in Firefox.
273
+ */
274
+
275
+ button,
276
+ select {
277
+ text-transform: none;
278
+ }
279
+
280
+ /**
281
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
282
+ * and `video` controls.
283
+ * 2. Correct inability to style clickable `input` types in iOS.
284
+ * 3. Improve usability and consistency of cursor style between image-type
285
+ * `input` and others.
286
+ */
287
+
288
+ button,
289
+ html input[type="button"], /* 1 */
290
+ input[type="reset"],
291
+ input[type="submit"] {
292
+ -webkit-appearance: button; /* 2 */
293
+ cursor: pointer; /* 3 */
294
+ }
295
+
296
+ /**
297
+ * Re-set default cursor for disabled elements.
298
+ */
299
+
300
+ button[disabled],
301
+ html input[disabled] {
302
+ cursor: default;
303
+ }
304
+
305
+ /**
306
+ * Remove inner padding and border in Firefox 4+.
307
+ */
308
+
309
+ button::-moz-focus-inner,
310
+ input::-moz-focus-inner {
311
+ border: 0;
312
+ padding: 0;
313
+ }
314
+
315
+ /**
316
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
317
+ * the UA stylesheet.
318
+ */
319
+
320
+ input {
321
+ line-height: normal;
322
+ }
323
+
324
+ /**
325
+ * It's recommended that you don't attempt to style these elements.
326
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
327
+ *
328
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
329
+ * 2. Remove excess padding in IE 8/9/10.
330
+ */
331
+
332
+ input[type="checkbox"],
333
+ input[type="radio"] {
334
+ box-sizing: border-box; /* 1 */
335
+ padding: 0; /* 2 */
336
+ }
337
+
338
+ /**
339
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
340
+ * `font-size` values of the `input`, it causes the cursor style of the
341
+ * decrement button to change from `default` to `text`.
342
+ */
343
+
344
+ input[type="number"]::-webkit-inner-spin-button,
345
+ input[type="number"]::-webkit-outer-spin-button {
346
+ height: auto;
347
+ }
348
+
349
+ /**
350
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
351
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
352
+ * (include `-moz` to future-proof).
353
+ */
354
+
355
+ input[type="search"] {
356
+ -webkit-appearance: textfield; /* 1 */
357
+ -moz-box-sizing: content-box;
358
+ -webkit-box-sizing: content-box; /* 2 */
359
+ box-sizing: content-box;
360
+ }
361
+
362
+ /**
363
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
364
+ * Safari (but not Chrome) clips the cancel button when the search input has
365
+ * padding (and `textfield` appearance).
366
+ */
367
+
368
+ input[type="search"]::-webkit-search-cancel-button,
369
+ input[type="search"]::-webkit-search-decoration {
370
+ -webkit-appearance: none;
371
+ }
372
+
373
+ /**
374
+ * Define consistent border, margin, and padding.
375
+ */
376
+
377
+ fieldset {
378
+ border: 1px solid #c0c0c0;
379
+ margin: 0 2px;
380
+ padding: 0.35em 0.625em 0.75em;
381
+ }
382
+
383
+ /**
384
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
385
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
386
+ */
387
+
388
+ legend {
389
+ border: 0; /* 1 */
390
+ padding: 0; /* 2 */
391
+ }
392
+
393
+ /**
394
+ * Remove default vertical scrollbar in IE 8/9/10/11.
395
+ */
396
+
397
+ textarea {
398
+ overflow: auto;
399
+ }
400
+
401
+ /**
402
+ * Don't inherit the `font-weight` (applied by a rule above).
403
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
404
+ */
405
+
406
+ optgroup {
407
+ font-weight: bold;
408
+ }
409
+
410
+ /* Tables
411
+ ========================================================================== */
412
+
413
+ /**
414
+ * Remove most spacing between table cells.
415
+ */
416
+
417
+ table {
418
+ border-collapse: collapse;
419
+ border-spacing: 0;
420
+ }
421
+
422
+ td,
423
+ th {
424
+ padding: 0;
425
+ }
@@ -0,0 +1,274 @@
1
+ //===========================
2
+ // created by : MrAhmad
3
+ // date : 10 June 2014
4
+ // website : http://sass-flexi.com/
5
+ // version : 0.1.alpha.1
6
+ //============================
7
+
8
+ //============================
9
+ // Description :
10
+ // this the heart of flexi-typography framework, will include all the mixin and the placeholders
11
+ //=============================
12
+
13
+ // 1- Modular scale for (tablet,desktop, and large media)
14
+ // 2:3 perfect fifth
15
+ // 16px @ 1:1.5 ideal text size
16
+ // 95px @ 1:1.5 important number - choosen from column width
17
+ //---------------------------------------------------
18
+ $scale-ratio : 1.5 !default;
19
+ $font-size : 16 !default;
20
+ $line-height : 24 !default; // the line height is >=150% of font size
21
+
22
+ // calculate the headingline elements
23
+ $h1 : $font-size * 3.375;
24
+ $h2 : $font-size * 2.25 ;
25
+ $h3 : $font-size * 1.5 ;
26
+ $h4 : $font-size * 1.0 ;
27
+ $h5 : $font-size / 1.5 ;
28
+ $h6 : $font-size / 2.25 ;
29
+ //---------------------------------------------------
30
+
31
+ // 2- Modular scale for mobile media
32
+ // 2:3 perfect fifth
33
+ // 13px @ 1:1.5 ideal text size
34
+ // 480px @ 1:1.5 important number - choosen from column width
35
+ //---------------------------------------------------
36
+ $scale-ratio : 1.5 !default;
37
+ $font-size-mob: 13 !default;
38
+ $line-height-mob : 21 !default; // the line height is >=150% of font size
39
+
40
+ // calculate the headingline elements
41
+ $h1-mob : $font-size-mob * 2.25;
42
+ $h2-mob : $font-size-mob * 1.5 ;
43
+ $h3-mob : $font-size-mob * 1.25 ;
44
+ $h4-mob : $font-size-mob * 1.0 ;
45
+ $h5-mob : $font-size-mob / 1.5 ;
46
+ $h6-mob : $font-size-mob / 2.25 ;
47
+
48
+
49
+ // color variables for body and headline
50
+ $text-color : #333 !default;
51
+ $head-color : #111 !default;
52
+
53
+
54
+ // 3- Functions
55
+ //---------------------------------------------------
56
+
57
+ // html font size in %
58
+ @function font-html($font-size,$base:16){
59
+ @return ($base / $font-size) * 100%;
60
+ }
61
+
62
+ // px function
63
+ @function px($font-size){
64
+ @return $font-size *1px;
65
+ }
66
+
67
+ // rem function
68
+ @function rem($font-size,$base:16){
69
+ @return ($font-size / $base) *1rem;
70
+ }
71
+
72
+ //---------------------------------------------------
73
+
74
+ // 4- placeholders
75
+ //---------------------------------------------------
76
+ %head-family{
77
+ font-family: inherit;
78
+ color: $head-color;
79
+ text-transform :capitalize;
80
+ text-shadow: 0 1px 1px rgba(255,255,255,0.6);
81
+ font-weight: 600;
82
+ line-height: 1.1;
83
+ }
84
+
85
+ %margin{
86
+ margin: 0 0 px($font-size) 0;
87
+ }
88
+
89
+
90
+ // 5- Mixin
91
+ //---------------------------------------------------
92
+
93
+ // html font size in % - the root of typo system, because we are going to use rem size for the font
94
+ @mixin html($font-size,$base:16){
95
+ font-size: font-html($font-size,$base);
96
+ -webkit-font-smoothing:antialiased !important;
97
+ }
98
+
99
+ // body and headline font size and font-family
100
+ @mixin body-headline($font-size,$line-height:24,$base:16){
101
+ body{
102
+ font-family: "Helvetica Neue",Helvetica, Arial, sans-serif;
103
+ font-size: px($font-size);
104
+ font-size: rem($font-size,$base);
105
+ line-height: $line-height / $font-size ;
106
+ color: $text-color;
107
+ }
108
+
109
+ h1, .h1{
110
+ font-size: px($h1);
111
+ font-size: rem($h1,$base);
112
+ letter-spacing: px(-2);
113
+ @extend %head-family;
114
+ }
115
+ h2, .h2{
116
+ font-size: px($h2);
117
+ font-size: rem($h2,$base);
118
+ letter-spacing: px(-1);
119
+ @extend %head-family;
120
+ }
121
+ h3, .h3{
122
+ font-size: px($h3);
123
+ font-size: rem($h3,$base);
124
+ @extend %head-family;
125
+ }
126
+ h4, .h4{
127
+ font-size: px($h4);
128
+ font-size: rem($h4,$base);
129
+ @extend %head-family;
130
+ }
131
+ h5, .h5{
132
+ font-size: px($h5);
133
+ font-size: rem($h5,$base);
134
+ @extend %head-family;
135
+ }
136
+ h6, .h6{
137
+ font-size: px($h6);
138
+ font-size: rem($h6,$base);
139
+ @extend %head-family;
140
+ }
141
+ .lead{
142
+ font-size: px($font-size * 1.125);
143
+ font-size: rem(($font-size *1.125) ,$base);
144
+ font-weight: 600;
145
+ margin-left: auto;
146
+ margin-right: auto;
147
+ }
148
+ p{
149
+ @extend %margin;
150
+ }
151
+ }
152
+
153
+ // define the link elements
154
+ @mixin link($color){
155
+ &:link{
156
+ color : $color;
157
+ text-decoration: none;
158
+ }
159
+ &:visited{
160
+ text-decoration: none;
161
+ color : $color;
162
+ }
163
+ &:hover{
164
+ color : lighten($color,15%);
165
+ border-bottom: 1px solid lighten($color,15%);
166
+ }
167
+ &:active{
168
+ color : lighten($color,15%);
169
+ border-bottom: 1px solid lighten($color,15%);
170
+ }
171
+ }
172
+
173
+ // define the blockquote elements
174
+ @mixin blockquote($padding-left,$color){
175
+ border-left : 5px solid rgba(0, 0, 0, 0.1);
176
+ padding-left: px($padding-left);
177
+ color: $color;
178
+ }
179
+
180
+ // define pre,code, and kbd elements
181
+ @mixin pre($color,$bg-color){
182
+ display: block;
183
+ padding: 1rem;
184
+ font-size: 1.3rem;
185
+ line-height: 1.43;
186
+ color: $color;
187
+ word-break: break-all;
188
+ word-wrap: break-word;
189
+ background-color: $bg-color;
190
+ border: 1px solid #ccc;
191
+
192
+ }
193
+
194
+ @mixin code($color){
195
+ padding: 2px 4px;
196
+ font-size: 90%;
197
+ color: $color;
198
+ white-space: nowrap;
199
+ background-color: lighten($color,47%);
200
+
201
+ }
202
+
203
+ @mixin kbd($color,$bg-color){
204
+ padding: 2px 4px;
205
+ font-size: 90%;
206
+ color: $color;
207
+ background-color:$bg-color;
208
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
209
+
210
+ }
211
+
212
+ @mixin mobile($fon-size-mob,$line-height: 21,$base:16){
213
+ body{
214
+ font-size: px($font-size-mob);
215
+ font-size: rem($font-size-mob,$base);
216
+ line-height: $line-height-mob / $font-size-mob;
217
+ }
218
+
219
+ h1, .h1{
220
+ font-size: px($h1-mob);
221
+ font-size: rem($h1-mob,$base);
222
+
223
+ }
224
+ h2, .h2{
225
+ font-size: px($h2-mob);
226
+ font-size: rem($h2-mob,$base);
227
+
228
+ }
229
+ h3, .h3{
230
+ font-size: px($h3-mob);
231
+ font-size: rem($h3-mob,$base);
232
+
233
+ }
234
+ h4, .h4{
235
+ font-size: px($h4-mob);
236
+ font-size: rem($h4-mob,$base);
237
+
238
+ }
239
+ h5, .h5{
240
+ font-size: px($h5-mob);
241
+ font-size: rem($h5-mob,$base);
242
+
243
+ }
244
+ h6, .h6{
245
+ font-size: px($h6-mob);
246
+ font-size: rem($h6-mob,$base);
247
+
248
+ }
249
+ .lead{
250
+ font-size: px($font-size-mob * 1.125);
251
+ font-size: rem(($font-size-mob *1.125) ,$base);
252
+ font-weight: 700;
253
+ margin-left: auto;
254
+ margin-right: auto;
255
+ }
256
+
257
+ p,ul,ol,blockquote,pre{
258
+ margin: 0 0 px($font-size-mob) 0;
259
+ }
260
+
261
+ pre,code{
262
+ font-size: px($font-size-mob) - px(1);
263
+ font-size: rem($font-size-mob,$base)- rem(1,10);
264
+ line-height: inherit;
265
+ }
266
+
267
+ }
268
+
269
+ // others
270
+ @mixin raduis($raduis:5){
271
+ -webkit-border-radius: px($raduis);
272
+ -moz-border-radius: px($raduis);
273
+ border-radius: px($raduis);
274
+ }
@@ -0,0 +1,85 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <title>sass-flexi example page</title>
6
+ <!-- attcahe screen.css stylesheet -->
7
+ </head>
8
+ <body>
9
+
10
+ <!-- create the container -->
11
+ <div class="container">
12
+ <!-- cerate the wrapper -->
13
+ <div class="wrapper">
14
+ <!-- here you add the colimns -->
15
+ <div class="col-6">Col-6</div>
16
+ <div class="col-6">Coll-6</div>
17
+
18
+ <div class="col-1">Col-1</div>
19
+ <div class="col-1">Col-1</div>
20
+ <div class="col-1">col-1</div>
21
+ <div class="col-1">Col-1</div>
22
+ <div class="col-1">Col-1</div>
23
+ <div class="col-1">Col-1</div>
24
+ <div class="col-1">Col-1</div>
25
+ <div class="col-1">Col-1</div>
26
+ <div class="col-1">Col-1</div>
27
+ <div class="col-1">Col-1</div>
28
+ <div class="col-1">Col-1</div>
29
+ <div class="col-1">Col-1</div>
30
+ </div>
31
+ <!-- end of columns -->
32
+
33
+ <!-- add new columns -->
34
+ <div class="wrapper">
35
+ <div class="col-3">Col-3</div>
36
+ <div class="col-3">Col-3</div>
37
+ <div class="col-3">Col-3</div>
38
+ <div class="col-3">Col-3</div>
39
+
40
+ <div class="col-4">Col-4</div>
41
+ <div class="col-4">Col-4</div>
42
+ <div class="col-4">Col-4</div>
43
+ </div>
44
+
45
+ <!-- you can add also offset,push, and pull -->
46
+ <div class="wrapper">
47
+ <div class="col-6 offset-3">Col-6 offset-3</div>
48
+ <div class="Col-6 push-3">Col-6 push-3</div>
49
+ </div>
50
+ </div>
51
+ <!-- typography -->
52
+ <div class="container">
53
+ <div class="wrapper">
54
+ <div class="col-4">
55
+ <h1>TITLE</h1>
56
+
57
+ <h2>headline</h2>
58
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid, ullam, similique adipisci magnam officia accusamus temporibus ratione nam eligendi laborum eos ea minus asperiores voluptate praesentium laboriosam illo. Ullam, soluta.</p>
59
+
60
+ <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur, totam, quidem quis nisi quas nostrum ipsam voluptas ratione qui accusantium mollitia magni unde aliquid sapiente tempora iure ex veniam. Non?</p>
61
+
62
+ <p>Aperiam, illum enim eaque iure labore necessitatibus distinctio eius fugiat repellat aliquid. Labore, saepe debitis nemo perferendis non molestiae unde beatae. Odio, natus, non ipsa sapiente nulla excepturi libero obcaecati!</p>
63
+
64
+ <p>Nulla, totam, ad, quam eveniet sunt qui in voluptas quia porro officia illum blanditiis nostrum harum neque libero ut nisi iusto odio quod aspernatur dolorum modi earum fuga magnam aliquid?</p>
65
+
66
+ <blockquote>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cupiditate, repudiandae, ut, nostrum natus quasi eius assumenda aliquam reprehenderit neque commodi doloremque ducimus itaque ex distinctio quam quidem odit facilis. Saepe!</blockquote>
67
+
68
+ <pre><code>@mixin flexi(cool){
69
+ margin : 0px;
70
+ }</code></pre>
71
+
72
+ <p>Lorem ipsum dolor sit amet, <strong>consectetur</strong> adipisicing elit. <em>loaoll</em> culpa labore pariatur maiores unde totam odio accusamus assumenda voluptatum nam? Facere, <code>quis</code> debitis ratione quisquam eveniet rerum dolore labore dignissimos?</p>
73
+
74
+ <ul>
75
+ <li><a href="/">Lik-1</a></li>
76
+ <li><a href="/">link-2</a></li>
77
+ <li><a href="/">link-3</a></li>
78
+ </ul>
79
+
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ </body>
85
+ </html>
@@ -0,0 +1,15 @@
1
+ # Make sure you list all the project template files here in the manifest.
2
+ stylesheet 'screen.scss', :media => 'screen, projection'
3
+ html 'index.html'
4
+
5
+
6
+ description "sass-flexi framework, used for grid and typography, and help web designers for create web layouts."
7
+
8
+ help %Q{
9
+ Installs some html, a stylesheet bundle, and
10
+ you can use directly or refer to as an example.
11
+ }
12
+
13
+ welcome_message %Q{
14
+ please refer to index.html file, and how to markup the framework, also you can check the stylesheet
15
+ }
@@ -0,0 +1,166 @@
1
+ // This is where you put the contents of the main stylesheet for the user's project.
2
+ // It should import your sass stylesheets and demonstrate how to use them.
3
+
4
+ @import "sass-flexi";
5
+
6
+ //=============================
7
+ // flexi-grid framework
8
+ //=============================
9
+
10
+ // assign the box-sizing global
11
+ * {
12
+ @include box-sizing(border-box);
13
+ }
14
+
15
+ // create container for the grid system
16
+ .container{
17
+ @include container(30);
18
+ }
19
+
20
+ // create the wrapper for the grid system
21
+ .wrapper{
22
+ @include row(30);
23
+ }
24
+
25
+ // create clearfix
26
+ .clear{
27
+ @extend %clear;
28
+ }
29
+
30
+ // generate the columns for the grid systen
31
+ @include columns(col,12);
32
+
33
+
34
+ // Generate the viewports
35
+ //-----------------------
36
+
37
+ // 1- tablet viewport (width 768px)
38
+ @media screen and (min-width:768px){
39
+ %float{
40
+ float: left;
41
+ }
42
+ @include column-width(col,12);
43
+ @include offset(offset,12);
44
+ @include push(push,12);
45
+ @include pull(pull,12);
46
+ }
47
+ @include direction(col,12);
48
+
49
+
50
+ // 2- desktop viewport (width 992px)
51
+ @media screen and (min-width:992px){
52
+ %float{
53
+ float: left;
54
+ }
55
+ @include column-width(col,12);
56
+ @include offset(offset,12);
57
+ @include push(push,12);
58
+ @include pull(pull,12);
59
+ }
60
+ @include direction(col,12);
61
+
62
+
63
+ // 3- large viewport (width 1200px)
64
+ @media screen and (min-width:1200px){
65
+ %float{
66
+ float: left;
67
+ }
68
+ @include column-width(col,12);
69
+ @include offset(offset,12);
70
+ @include push(push,12);
71
+ @include pull(pull,12);
72
+ }
73
+ @include direction(col,12);
74
+ //===== end flexi-grid framework =======
75
+
76
+ //======================================
77
+ // flexi-typography framework
78
+ //======================================
79
+
80
+ html{
81
+ @include html(16,10);
82
+ }
83
+
84
+ // body and headline font-size and font-family
85
+ @include body-headline(16,24,10);
86
+
87
+ // link elements
88
+ a{
89
+ @include link(#C02942); // define the color for the link elements, you can change the color number is you wish
90
+ }
91
+
92
+ // blockqoute elements
93
+ blockquote{
94
+ @include blockquote(16,#C02942);
95
+ @extend %margin;
96
+ }
97
+
98
+ // define pre,code, and kbd elements
99
+ pre{
100
+ @include pre(#031634,#f5f5f5);
101
+ @include raduis(4);
102
+ @extend %margin;
103
+ code{
104
+ padding: 0;
105
+ font-size: inherit;
106
+ color: inherit;
107
+ white-space: pre-wrap;
108
+ background-color: transparent;
109
+ @include raduis(0);
110
+ }
111
+ }
112
+
113
+ code{
114
+ @include code(blue);
115
+ @include raduis(4);
116
+ }
117
+
118
+ kbd{
119
+ @include kbd(#fff,#033649);
120
+ @include raduis(4);
121
+ }
122
+
123
+ // define the fixed font
124
+ pre, code{
125
+ font-family : Consolas, Courier New, monospace;
126
+ line-height : inherit;
127
+ }
128
+
129
+ // define italic & bold elements
130
+ em, i, blockquote{
131
+ font-style : italic;
132
+ }
133
+ b, strong{
134
+ color : inherit;
135
+ font-weight: bold;
136
+ }
137
+
138
+ // define the ol, ul list
139
+ ul{list-style-type: disc; @extend %margin;}
140
+ ol{list-style-type: decimal;@extend %margin;}
141
+
142
+ // others defines
143
+ abbr[title], abbr[data-original-title]{
144
+ cursor: help;
145
+ border-bottom: 1px dotted;
146
+ }
147
+ abbr.initialism {
148
+ font-size: 90%;
149
+ text-transform: uppercase;
150
+ }
151
+ small, .small{font-size: 80%;}
152
+
153
+
154
+
155
+ @media screen and (max-width:600px){
156
+ @include mobile(13,21,10);
157
+ }
158
+
159
+
160
+ // modifers
161
+ .text-left{text-align: left;}
162
+ .text-right{text-align: right;}
163
+ .text-center{text-align: center;}
164
+ .text-justify{text-align: justify;}
165
+ //===== end flexi-typography framework =======
166
+
metadata ADDED
@@ -0,0 +1,71 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sass-flexi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.alpha.1
5
+ platform: ruby
6
+ authors:
7
+ - Ahmad Araj
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2014-06-10 00:00:00 +04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: compass
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0.12"
24
+ version:
25
+ description: "a flexi grid and typography to create web layouts, mobile first friends,.... "
26
+ email: info@sass-flexi.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files: []
32
+
33
+ files:
34
+ - lib/sass-flexi.rb
35
+ - stylesheets/_sass-flexi.scss
36
+ - stylesheets/bundle/_grid.scss
37
+ - stylesheets/bundle/_normalize.scss
38
+ - stylesheets/bundle/_typography.scss
39
+ - templates/project/index.html
40
+ - templates/project/manifest.rb
41
+ - templates/project/screen.scss
42
+ has_rdoc: true
43
+ homepage: http://sass-flexi.com/
44
+ licenses: []
45
+
46
+ post_install_message:
47
+ rdoc_options: []
48
+
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: "0"
56
+ version:
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">"
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.1
62
+ version:
63
+ requirements: []
64
+
65
+ rubyforge_project:
66
+ rubygems_version: 1.3.5
67
+ signing_key:
68
+ specification_version: 3
69
+ summary: sass-flexi framework, flexi tools for web designers
70
+ test_files: []
71
+