-
Notifications
You must be signed in to change notification settings - Fork 10
/
index.html
1384 lines (1367 loc) · 43.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8" />
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width" />
<title>Welcome to Foundation</title>
<!-- Included CSS Files -->
<link rel="stylesheet" href="css/foundationless.min.css">
<link rel="stylesheet" href="css/app.css">
<!-- IE Fix for HTML5 Tags -->
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<!-- Grid -->
<div class="row">
<div class="twelve columns">
<h3>
The Grid
</h3>
<h4 class="subheader">
The Grid lets you quickly put together page layouts for mobile devices and the desktop. You don't need two different sites - the Grid is built to create a rock-solid experience on all kinds of devices with the exact same markup.
</h4>
<hr>
<h4>
The Basics
</h4>
<p>
The grid is built around three key elements: containers, rows, and columns. Containers create base padding for the page; rows create a max-width and contain the columns; and columns create the final structure. Everything on your page that you don't give a specific structural style to should be within a container, row and column.
</p>
<p>
What you need to know is that <strong>columns don't have a fixed width:</strong> they can vary based on the resolution of the screen, or the size of the window (try scaling down this window to see what we mean). Design with that in mind.
</p>
<hr>
<h4>
Nesting Support
</h4>
<p>
In the Grid you can nest columns down as far as you'd like. Just embed rows inside columns and go from there. Each embedded row can contain up to 12 columns.
</p>
<hr>
<h4>
Examples
</h4>
<p>
Take this page for example - we've set up this page by containing this section in eight columns, and the sidebar in four. When the screen is larger than iPad resolution you'll see them laid out normally - smaller than that and columns become 100% width objects for mobile devices.
</p>
<p>
Below you can see how the rows and columns come together. All columns are inside a row and for this we've colored the rows and columns for visibility. You can also see how nesting works - this example is inside an eight column container, but below we have all 12 columns to use. You can nest them down quite a ways before the percentage widths become absurdly small.
</p>
<div class="row display">
<div class="four columns">
.four.columns
</div>
<div class="four columns">
.four.columns
</div>
<div class="four columns">
.four.columns
</div>
</div>
<div class="row display">
<div class="three columns">
.three.columns
</div>
<div class="six columns">
.six.columns
</div>
<div class="three columns">
.three.columns
</div>
</div>
<div class="row display">
<div class="two columns">
.two.columns
</div>
<div class="eight columns">
.eight.columns
</div>
<div class="two columns">
.two.columns
</div>
</div>
<div class="row display">
<div class="one columns">
.one
</div>
<div class="eleven columns">
.eleven.columns
</div>
</div>
<div class="row display">
<div class="two columns">
.two.columns
</div>
<div class="ten columns">
.ten.columns
</div>
</div>
<div class="row display">
<div class="three columns">
.three.columns
</div>
<div class="nine columns">
.nine.columns
</div>
</div>
<div class="row display">
<div class="four columns">
.four.columns
</div>
<div class="eight columns">
.eight.columns
</div>
</div>
<div class="row display">
<div class="five columns">
.five
</div>
<div class="seven columns">
.seven.columns
</div>
</div>
<div class="row display">
<div class="six columns">
.six.columns
</div>
<div class="six columns">
.six.columns
</div>
</div>
<div class="row display">
<div class="seven columns">
.seven.columns
</div>
<div class="five columns">
.five.columns
</div>
</div>
<div class="row display">
<div class="eight columns">
.eight.columns
</div>
<div class="four columns">
.four.columns
</div>
</div>
<div class="row display">
<div class="nine columns">
.nine.columns
</div>
<div class="three columns">
.three.columns
</div>
</div>
<div class="row display">
<div class="ten columns">
.ten.columns
</div>
<div class="two columns">
.two.columns
</div>
</div>
<div class="row display">
<div class="eleven columns">
.eleven.columns
</div>
<div class="one columns">
.one
</div>
</div>
<div class="row display">
<div class="twelve columns">
.twelve.columns
</div>
</div>
<hr>
<h4>
Offsets
</h4>
<p>
Offsets allow you to create additional space between columns in a row. The offsets run from offset-by-one all the way up to offset-by-eleven. Like the rest of the grid they're nestable.
</p>
<div class="row display">
<div class="one columns">
.one
</div>
<div class="eleven columns">
.eleven.columns
</div>
</div>
<div class="row display">
<div class="one columns">
.one
</div>
<div class="ten columns offset-by-one">
.ten.columns.offset-by-one
</div>
</div>
<div class="row display">
<div class="one columns">
.one
</div>
<div class="nine columns offset-by-two">
.nine.columns.offset-by-two
</div>
</div>
<div class="row display">
<div class="one columns">
.one
</div>
<div class="eight columns offset-by-three">
.eight.columns.offset-by.three
</div>
</div>
<div class="row display">
<div class="seven columns offset-by-five">
.seven.columns.offset-by-five
</div>
</div>
<div class="row display">
<div class="six columns offset-by-six">
.six.columns.offset-by-six
</div>
</div>
<div class="row display">
<div class="five columns offset-by-seven">
.five.columns.offset-by-six
</div>
</div>
<div class="row display">
<div class="four columns offset-by-eight">
.four.columns.offset-by-eight
</div>
</div>
<hr>
<h4>
Centered Columns
</h4>
<p>
Centered columns are placed in the middle of the row. This does not center their content, but centers the grid element itself. This is a convenient way to make sure a block is centered, even if you change the number of columns it contains. Note: for this to work, there cannot be any other column blocks in the row.
</p>
<div class="row display">
<div class="one columns centered">
.one.columns.centered
</div>
</div>
<div class="row display">
<div class="two columns centered">
.two.columns.centered
</div>
</div>
<div class="row display">
<div class="three columns centered">
.three.columns.centered
</div>
</div>
<div class="row display">
<div class="four columns centered">
.four.columns.centered
</div>
</div>
<div class="row display">
<div class="five columns centered">
.five.columns.centered
</div>
</div>
<div class="row display">
<div class="six columns centered">
.six.columns.centered
</div>
</div>
<div class="row display">
<div class="seven columns centered">
.seven.columns.centered
</div>
</div>
<div class="row display">
<div class="eight columns centered">
.eight.columns.centered
</div>
</div>
<div class="row display">
<div class="nine columns centered">
.nine.columns.centered
</div>
</div>
<div class="row display">
<div class="ten columns centered">
.ten.columns.centered
</div>
</div>
<div class="row display">
<div class="eleven columns centered">
.eleven.columns.centered
</div>
</div>
<div class="row display">
<div class="twelve columns centered">
.twelve.columns.centered
</div>
</div>
<hr>
<h4>
Source Ordering
</h4>
<p>
Sometimes within the grid you want the order of your markup to not necessarily be the same as the order items are flowed into the grid. Using these source ordering classes you can shift columns around on desktops and tablets. On phones the grid will still be linearized into the order of the markup.
</p>
<div class="row display">
<div class="two columns push-ten">
.two.columns
</div>
<div class="ten columns pull-two">
.ten.columns (last)
</div>
</div>
<div class="row display">
<div class="three columns push-nine">
.three.columns
</div>
<div class="nine columns pull-three">
.nine.columns (last)
</div>
</div>
<div class="row display">
<div class="four columns push-eight">
.four.columns
</div>
<div class="eight columns pull-four">
.eight.columns (last)
</div>
</div>
<div class="row display">
<div class="five columns push-seven">
.five
</div>
<div class="seven columns pull-five">
.seven.columns (last)
</div>
</div>
<div class="row display">
<div class="six columns push-six">
.six.columns
</div>
<div class="six columns pull-six">
.six.columns (last)
</div>
</div>
<div class="row display">
<div class="seven columns push-five">
.seven.columns
</div>
<div class="five columns pull-seven">
.five.columns (last)
</div>
</div>
<div class="row display">
<div class="eight columns push-four">
.eight.columns
</div>
<div class="four columns pull-eight">
.four.columns (last)
</div>
</div>
<div class="row display">
<div class="nine columns push-three">
.nine.columns
</div>
<div class="three columns pull-nine">
.three.columns (last)
</div>
</div>
<div class="row display">
<div class="ten columns push-two">
.ten.columns
</div>
<div class="two columns pull-ten">
.two (last)
</div>
</div>The syntax supports push and pull for two to ten columns, and is added directly to the columns themselves.
<hr>
<h4>
Mobile Grid
</h4>
<p>
The grid has two modes of adapting for small displays like phones. The first requires no work at all — the grid will linearize on a small device so your columns stack vertically. This is useful to quickly adapt a desktop layout to a simple scrolling mobile layout. The other option is to use some simple classes to implement a four-column phone grid.
</p>
<h5>
Four Column Mobile Grid
</h5>
<p>
When you're creating your layout you can optionally attach classes that take your existing grid elements and attach them to a four column phone grid.
</p>
<div class="row display">
<div class="three phone-one columns">
.three.phone-one.columns
</div>
<div class="nine phone-three columns">
.nine.phone-three.columns
</div>
</div>
<div class="row display">
<div class="six phone-two columns">
.six.phone-two.columns
</div>
<div class="six phone-two columns">
.six.phone-two.columns
</div>
</div>
<div class="row display">
<div class="nine phone-three columns">
.nine.phone-three.columns
</div>
<div class="three phone-one columns">
.three.phone-one.columns
</div>
</div>
<h5>
Mobile Source Ordering
</h5>
<p>
You can use the same push and pull style classes on the 4 column phone grid. The syntax includes .pull-one-phone, .pull-two-phone, .pull-three-phone, as well as .push-one-phone, .push-two-phone, .push-three.phone.
</p>
</div>
</div><!-- Buttons -->
<div class="row">
<div class="twelve columns">
<h3>
Buttons
</h3>
<h4 class="subheader">
We <3 buttons. And so do you! That's why Foundation has multiple buttons styles and color that are not only badass out of the box, but easy to customize for your projects.
</h4>
<hr>
<h4>
Simple Buttons
</h4>
<p>
Foundation buttons have a number of parameters and styles - you can see a few examples below. The out of the box classes include size, color and style (square, slightly rounded, and completely rounded).
</p><br>
<div class="row">
<div class="six columns">
<a href="#" class="small blue button radius">Button »</a><br>
<br>
<a href="#" class="blue button radius">Button »</a><br>
<br>
<a href="#" class="large blue button radius">Button »</a><br>
<br>
<br>
<br>
<a href="#" class="small red button radius">Button »</a><br>
<br>
<a href="#" class="red button radius">Button »</a><br>
<br>
<a href="#" class="large red button radius">Button »</a><br>
<br>
<br>
<br>
</div>
<div class="six columns">
<a href="#" class="small white button radius">Button »</a><br>
<br>
<a href="#" class="white radius button">Button »</a><br>
<br>
<a href="#" class="large white button radius">Button »</a><br>
<br>
<br>
<br>
<a href="#" class="small black button radius">Button »</a><br>
<br>
<a href="#" class="black button radius">Button »</a><br>
<br>
<a href="#" class="large black button radius">Button »</a><br>
<br>
<br>
<br>
</div>
</div>
<hr>
<h4>
Nice Buttons
</h4>
<p>
Nice buttons have a little more pizazz using a background image, but they still support the same classes as any other button including color, size, and corner radius.
</p><br>
<div class="row">
<div class="six columns">
<a href="#" class="small blue nice button radius">Button »</a><br>
<br>
<a href="#" class="blue nice button radius">Button »</a><br>
<br>
<a href="#" class="large blue nice button radius">Button »</a><br>
<br>
<br>
<br>
<a href="#" class="small red nice button radius">Button »</a><br>
<br>
<a href="#" class="red nice button radius">Button »</a><br>
<br>
<a href="#" class="large red nice button radius">Button »</a><br>
<br>
<br>
<br>
</div>
<div class="six columns">
<a href="#" class="small white nice button radius">Button »</a><br>
<br>
<a href="#" class="white radius nice button">Button »</a><br>
<br>
<a href="#" class="large white nice button radius">Button »</a><br>
<br>
<br>
<br>
<a href="#" class="small black nice button radius">Button »</a><br>
<br>
<a href="#" class="black nice button radius">Button »</a><br>
<br>
<a href="#" class="large black nice button radius">Button »</a><br>
<br>
<br>
<br>
</div>
</div>
</div>
</div><!-- Forms -->
<div class="twelve columns">
<h3>
Forms
</h3>
<h4 class="subheader">
Forms are not a lot of fun. We've taken that lack of fun and dodged it with this ready-made code. In this release there are two sets of forms styles - basic and nice. Both are simple, both are flexible, both are easy to customize. <strong>Make sure to include app.js if you're going to use these forms.</strong>
</h4>
<hr>
<h4>
Forms
</h4>
<form>
<p>
Inputs support a number of different base classes. Any text input has a class of 'input-text' and supports several sizes:
</p><label>Standard Input</label> <input type="text" class="input-text"> <label>Small Input</label> <input type="text" class="small input-text"> <label>Medium Input</label> <input type="text" class="medium input-text"> <label>Large Input</label> <input type="text" class="large input-text"> <label>Oversize Input</label> <input type="text" class="oversize input-text">
<h5>
Inline Labels
</h5>
<p>
Inline labels are accomplished using the HTML5 Placeholder attribute, with a built-in JS fallback.
</p><input type="text" class="input-text" placeholder="Inline label">
<h5>
Error States
</h5>
<p>
Error states can be applied in two ways:
</p>
<ul class="disc">
<li>Using a wrapper for div.form-field.error, which will apply styles to text inputs, labels, and a small.error message (optional). This is ideal for programmatically generated forms.
</li>
<li>You can also apply the .red class to labels, inputs, and also append a small.error.
</li>
</ul>
<div class="form-field error">
<label>Medium Input (with wrapper)</label> <input type="text" class="medium input-text"> <small>Whoa, cowboy. Try that again.</small>
</div><label class="red">Medium Input</label> <input type="text" class="medium input-text red"> <small class="error">Whoa, cowboy. Try that again.</small> <label>Textarea</label>
<textarea>
This is a textarea
</textarea> <label>Inline Label Textarea</label>
<textarea placeholder="This is a text area">
</textarea> <label for="checkbox1"><input type="checkbox" id="checkbox1"> Label for Checkbox</label> <label for="radio1"><input type="radio" id="radio1"> Label for Radio</label> <label>Dropdown Label</label> <select>
<option>
This is a dropdown
</option>
<option>
This is another option
</option>
<option>
Look, a third option
</option>
</select>
<div class="row">
<div class="seven columns">
<fieldset>
<h5>
Fieldset Header H2
</h5>
<p>
This is a paragraph within a fieldset.
</p><label>Standard Input</label> <input type="text" class="input-text">
</fieldset>
</div>
</div>
</form>
<hr>
<h4>
Nice Forms
</h4>
<form class="nice">
<p>
Changing the form style to a slightly fancier version is dead simple - just add a class of 'nice' to the form itself.
</p><label>Standard Input</label> <input type="text" class="input-text"> <input type="text" placeholder="Inline label" class="input-text"> <label>Small Input</label> <input type="text" class="small input-text">
<div class="form-field error">
<label>Medium Input (with wrapper)</label> <input type="text" class="medium input-text"> <small>Whoa, cowboy. Try that again.</small>
</div><label class="red">Medium Input</label> <input type="text" class="medium red input-text"> <small class="error">Whoa, cowboy. Try that again.</small> <label>Large Input</label> <input type="text" class="large input-text"> <label>Oversize Input</label> <input type="text" class="oversize input-text"> <label>Textarea</label>
<textarea>
This is a textarea
</textarea> <label>Inline Label Textarea</label>
<textarea placeholder="This is a text area">
</textarea> <label for="checkbox1"><input type="checkbox" id="checkbox1"> Label for Checkbox</label> <label for="radio1"><input type="radio" id="radio1"> Label for Radio</label> <label>Dropdown Label</label> <select>
<option>
This is a dropdown
</option>
<option>
This is another option
</option>
<option>
Look, a third option
</option>
</select>
<div class="row">
<div class="seven columns">
<fieldset>
<h5>
Fieldset Header H2
</h5>
<p>
This is a paragraph within a fieldset.
</p><label>Standard Input</label> <input type="text" class="input-text">
</fieldset>
</div>
</div>
</form>
<hr>
<h3>
Custom Forms
</h3>
<form class="custom">
<p>
Creating easy to style custom form elements is so crazy easy, it's practically a crime. Just add a class of 'custom' to a form and, if you want, forms.jquery.js will do everything for you.
</p>
<p>
The Foundation forms js will look for any checkbox, radio button, or select element and replace it with custom markup that is already styled with forms.css.
</p>
<p>
If you want to avoid a potential flash (waiting for js to load and replace your default elements) you can supply the custom markup as part of the page, and the js will instead simply map the custom elements to the inputs.
</p>
<p>
Foundation custom forms will even correctly respect and apply default states for radio, checkbox and select elements. You can use the 'checked' or 'selected' properties just like normal, and the js will apply that as soon as the page loads.
</p>
<h5>
Radio Buttons
</h5>
<h5>
Checkboxes
</h5>
<div class="row">
<div class="four columns">
<label for="radio1"><input name="radio1" type="radio" id="radio1" style="display: none;"> Radio Button 1</label> <label for="radio2"><input name="radio1" type="radio" id="radio2" style="display: none;"> Radio Button 2</label> <label for="radio3"><input name="radio1" type="radio" id="radio3" style="display: none;"> Radio Button 3</label>
</div>
<div class="four columns">
<label for="radio4"><input name="radio2" type="radio" id="radio4" style="display: none;"> Radio Button 1</label> <label for="radio5"><input name="radio2" checked type="radio" id="radio5" style="display: none;"> Radio Button 2</label> <label for="radio6"><input name="radio2" type="radio" id="radio6" style="display: none;"> Radio Button 3</label>
</div>
<div class="four columns">
<label for="checkbox1"><input type="checkbox" id="checkbox1" style="display: none;"> Label for Checkbox</label> <label for="checkbox2"><input type="checkbox" id="checkbox2" checked style="display: none;"> Label for Checkbox</label> <label for="checkbox3"><input type="checkbox" checked id="checkbox3" style="display: none;"> Label for Checkbox</label>
</div>
</div>
<h5>
Dropdown / Select Elements
</h5><label>Dropdown Label</label> <select style="display:none;">
<option selected>
This is a dropdown
</option>
<option>
This is another option
</option>
<option>
Look, a third option
</option>
</select>
<div class="custom dropdown" style="width: 187px;">
<a href="#" class="current">This is a dropdown</a> <a href="#" class="selector"></a>
<ul style="width: 185px;">
<li class="selected">This is a dropdown
</li>
<li>This is another option
</li>
<li>Look, a third option
</li>
</ul>
</div><label>Dropdown Label</label> <select style="display: none;">
<option>
This is a dropdown
</option>
<option selected>
This is another option
</option>
<option>
Look, a third option
</option>
</select>
<div class="custom dropdown" style="width: 187px;">
<a href="#" class="current">This is another option</a><a href="#" class="selector"></a>
<ul style="width: 185px;">
<li>This is a dropdown
</li>
<li class="selected">This is another option
</li>
<li>Look, a third option
</li>
</ul>
</div>
</form>
<h5>
Adding Custom Forms with JavaScript
</h5>
<p>
If you are creating these custom forms using JavaScript (via AJAX, JavaScript templates or whatever), you will also need to create the custom markup that Foundation typically creates for you.
</p>
<p>
Foundation detects any custom forms when the document has loaded and adds the custom markup required to make the forms pretty. However if you are adding these forms after the document has loaded, Foundation does not know to append this markup.
</p>
<p>
All the custom forms events are bound using jQuery.fn.on(), so you don't need to worry about event handlers not being bound to new elements.
</p>
</div><!-- Layout -->
<div class="twelve columns">
<h3>
Layout
</h3>
<h4 class="subheader">
Reusable, easy to modify layout conventions, for when the Grid isn't quite enough.
</h4>
<hr>
<h4>
Mobile Visibility
</h4>
<p>
With Foundation 2.0 we've included various mobile visibility affordance classes. Want to hide something on phones, or show it only on tablets? Got you covered.
</p>
<p>
For example, the following text should describe the device you're using: <strong class="show-on-desktops">You are on a desktop machine.</strong> <strong class="show-on-tablets">You are on a tablet device.</strong> <strong class="show-on-phones">You are on a smartphone like an iPhone or Android phone.</strong>
</p>
<p>
That example uses the 'show-on-x' classes seen here:
</p>
<p>
This example uses the opposite rules, so the following text should describe the device you're using: <strong class="hide-on-desktops">You are not on a desktop machine.</strong> <strong class="hide-on-tablets">You are not on a tablet device.</strong> <strong class="hide-on-phones">You are not on a smartphone like an iPhone or Android phone.</strong>
</p>
<p>
Each of these classes have an implied 'only' as in 'show <strong>only</strong> on tablet' or 'hide <strong>only</strong> on phones'.
</p>
<hr>
<h4>
Block Grids
</h4>
<p>
Block grids are ULs with 2-up, 3-up, 4-up and 5-up styles. These are ideal for blocked-in content generated by an application, as they do not require rows or even numbers of elements to display correctly.
</p>
<p>
By default these blocks will stay in their N-up configuration on mobile devices, but you can add a class of 'mobile' to have them reshuffle on smartphones into one element per line, just like the Grid.
</p>
<h5>
Two-up
</h5>
<ul class="block-grid two-up">
<li>Two-up element
</li>
<li>Two-up element
</li>
<li>Two-up element
</li>
<li>Two-up element
</li>
<li>Two-up element
</li>
</ul>
<h5>
Three-up
</h5>
<ul class="block-grid three-up">
<li>Three-up element
</li>
<li>Three-up element
</li>
<li>Three-up element
</li>
<li>Three-up element
</li>
<li>Three-up element
</li>
</ul>
<h5>
Four-up (Mobile)
</h5>
<ul class="block-grid mobile four-up">
<li>Four-up element
</li>
<li>Four-up element
</li>
<li>Four-up element
</li>
<li>Four-up element
</li>
<li>Four-up element
</li>
<li>Four-up element
</li>
</ul>
<h5>
Five-up
</h5>
<ul class="block-grid five-up">
<li>Five-up element
</li>
<li>Five-up element
</li>
<li>Five-up element
</li>
<li>Five-up element
</li>
<li>Five-up element
</li>
<li>Five-up element
</li>
<li>Five-up element
</li>
</ul>
</div><!-- UI -->
<div class="six columns">
<h3>
UI Elements
</h3>
<h4 class="subheader">
Need tabs, tables, or other common UI elements?<br>
Yeah, we got that.
</h4>
<hr>
<h4>
Alerts
</h4>
<p>
Alerts are a handy element you can drop into a form or inline on a page to communicate success, warnings, failure or just information. The syntax is extremely simple and like anything else in Foundation, easy to customize.
</p>
<div class="alert-box">
This is a standard alert (div.alert-box). <a href="" class="close">×</a>
</div>
<div class="alert-box success">
This is a success alert (div.alert-box.success). <a href="" class="close">×</a>
</div>
<div class="alert-box warning">
This is a warning alert (div.alert-box.warning). <a href="" class="close">×</a>
</div>
<div class="alert-box error">
This is an error alert (div.alert-box.error). <a href="" class="close">×</a>
</div>
<hr>
<h4>
Labels
</h4>
<p>
Labels are useful inline styles that can be dropped into body copy to call out certain sections or to attach metadata. Examples might be noting when something was updated or that something is new. The syntax is simple, just a <code>span</code> element with a class of .label. The border styling mirrors that of the Foundation buttons.
</p>
<div class="row">
<div class="three columns phone-two">
<p>
<span class="label">Regular Label</span><br>
<br>
<span class="radius label">Radius Label</span><br>
<br>
<span class="round label">Round Label</span>
</p>
</div>
<div class="three columns phone-two">
<p>
<span class="blue radius label">Blue Label</span><br>
<br>
<span class="red radius label">Red Label</span><br>
<br>
<span class="black radius label">Black Label</span><br>
<br>
<span class="green radius label">Green Label</span><br>
<br>
<span class="white radius label">White Label</span>
</p>
</div>
</div>
<p>
<span class="radius label">Added 01/19</span> This paragraph has an inline label to let you know that it was added on January 19, 2012 courtesy of Thomas Klemm. Thanks man!
</p>
<hr>
<h4>
Tooltips
</h4>
<p>
Tooltips are a quick way to provide extended information on a term or action on a page. They work cross browser and cross platfrom and are easily added to a page by including the jquery.tooltip.js plugin. You can apply the <strong>has-tip</strong> class to any element, as long as you assign it a unique ID.
</p>
<p>
By default the tooltip takes the width of the element that it is applied to, but you can override this behavior by applying a <strong>data-width</strong> attribute to the target element. The tooltip takes on the content of the targets <strong>title</strong> attribute.
</p>
<p>
The tooltips can be positioned <span class="has-tip top radius" id="tipTop" data-width="210" title="I'm on the top and rounded!">top</span>, <span class="has-tip" id="tipDefault" data-width="210" title="I'm on bottom and the default position.">bottom</span>, <span class="has-tip left" id="tipLeft" data-width="90" title="I'm on the left!">left</span>, or <span class="has-tip right" id="tipRight" data-width="90" title="I'm on the right!">right</span> of the target element.In a mobile environment the tooltips are full width and bottom aligned.
</p>
<hr>
<h4>
Panels
</h4>
<p>
A panel is a simple, helpful css class that enables you to outline sections of your page easily. This allows you to view your page sections as you add content to them, or add emphasis to a section (for example the download box on the right).
</p>
<div class="panel">
<h5>
My panel is bigger than yours.
</h5>
<p>
Seriously, just look at this sweet panel.
</p>
</div>
<hr>
<h4>
Tabs
</h4>
<div class="row">
<div class="six columns">
<p>
Tabs are very versatile both as organization and navigational constructs. To keep things easy for everyone we've created two main tab styles (simple and nice) as well as two variants of each - open and contained. With the base Foundation package, tabs of a particular format are actually already hooked up - no extra work required.
</p>
</div>
<div class="six columns">
<p>
Tabs are made of <strong>two objects:</strong> a DL object containing the tabs themselves, and a UL object containing the tab content. If you simply want visual tabs (as seen in this documentation) without the on-page hookup, you only need the DL. If you want functional tabs, just be sure that each tab is linked to an ID, and that the corresponding tab has an ID of tabnameTab. Check out these examples.
</p>
</div>
</div>
<p>
<em>Note: The third tab is using the <a href="layout.php">mobile visibility classes</a> to hide on small devices.</em>
</p>
<h5>
Simple Tabs
</h5>
<dl class="tabs">
<dd>
<a href="#simple1" class="active">Simple Tab 1</a>
</dd>
<dd>
<a href="#simple2">Simple Tab 2</a>
</dd>
<dd class="hide-on-phones">
<a href="#simple3">Simple Tab 3</a>
</dd>
</dl>
<ul class="tabs-content">
<li class="active" id="simple1Tab">This is simple tab 1's content. Pretty neat, huh?
</li>
<li id="simple2Tab">This is simple tab 2's content. Now you see it!
</li>
<li id="simple3Tab">This is simple tab 3's content. It's only okay.
</li>
</ul>
<hr>
<h5>
Contained Tabs
</h5>
<p>
Contained tabs have a simple added class of 'contained' on the tabs-content element. What that means is the tab content has a border around it tying it to the tabs, and the padding on that container (by default) is one column on each side. That means you can still use standard column sizes inside a tab element.
</p>
<dl class="tabs contained">
<dd>
<a href="#simpleContained1" class="active">Simple Tab 1</a>
</dd>
<dd>
<a href="#simpleContained2">Simple Tab 2</a>
</dd>
<dd class="hide-on-phones">
<a href="#simpleContained3">Simple Tab 3</a>
</dd>
</dl>
<ul class="tabs-content contained">
<li class="active" id="simpleContained1Tab">This is simple tab 1's content. Pretty neat, huh?
</li>
<li id="simpleContained2Tab">This is simple tab 2's content. Now you see it!
</li>
<li id="simpleContained3Tab">This is simple tab 3's content. It's only okay.
</li>
</ul>
<hr>
<h5>
Nice Tabs
</h5>