4. HTML 5 Tables - Forms - Frames - Web Front-End


Published on

Creating tables, forms and frames in html / html 5
Telerik Software Academy: http://html5course.telerik.com
The website and all video materials are in Bulgarian

HTML Tables: Simple Tables, Complete HTML 5 Tables, Data cells and Header cells, Nested Tables and Complex tables
Cells Width, Cell Spacing and Cell Padding, Column and Row Span
HTML Forms: Form Fields and Fieldsets, Text boxes, Buttons, Checkboxes and Radio Buttons, Select fields, Hidden fields, Validation fields, Sliders and Spinboxes
HTML Frames: Frame and Noframe tags, IFrames

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

4. HTML 5 Tables - Forms - Frames - Web Front-End

  1. 1. HTML 5 – Tables, Forms and FramesDoncho MinkovTechnical Trainerhttp://www.minkov.itTelerik Software Academyacademy.telerik.com
  2. 2. Contents HTML Tables  Simple Tables  Complete HTML 5 Tables  Data cells and Header cells Nested Tables Complex tables  Cells Width  Cell Spacing and Padding  Column and Row Span 2
  3. 3. Contents (2) HTML Forms  Form Fields and Fieldsets  Text boxes  Buttons  Checkboxes and Radio Buttons  Select fields  Hidden fields  Sliders and Spinboxes  Validation fields 3
  4. 4. Contents (3) HTML Frames  Frame and Noframe tags  IFrames 4
  5. 5. HTML Tables
  6. 6. HTML Tables Tables represent tabular data  A table consists of one or several rows  Each row has one or more columns Tables comprised of several core tags: <table></table>: begin / end the table <tr></tr>: create a table row <td></td>: create tabular data (cell) Tables should not be used for layout. Use CSS floats and positioning styles instead 6
  7. 7. Simple HTML Tables – Example<table cellspacing="0" cellpadding="5"> <tr> <td><img src="ppt.gif"></td> <td><a href="lecture1.ppt">Lecture 1</a></td> </tr> <tr> <td><img src="ppt.gif"></td> <td><a href="lecture2.ppt">Lecture 2</a></td> </tr> <tr> <td><img src="zip.gif"></td> <td><a href="lecture2-demos.zip"> Lecture 2 - Demos</a></td> </tr></table> 7
  8. 8. Simple HTML Tables Live Demo
  9. 9. Data Cells and Header Cells Two kinds of cells in HTML 5 tables  Data cells – containing the table data  Header cells – used for the column names or some more important cells in a table Why two kinds of cells?  Used to semantically separate the cells <tr> <th>Full name</th> <th> Mark </th> </tr> <tr> <td>Doncho Minkov</td> <td>Very good 5</td> </tr> <tr> <td>Georgi Georgiev</td> <td>Exellent 6</td> </tr> 9
  10. 10. Data and Header Cells Live Demo
  11. 11. CompleteHTML 5 Tables With Header, Footer and Body
  12. 12. Complete HTML Tables Table rows split into three semantic sections: header, body and footer  <thead> denotes table header and contains <th> elements, instead of <td> elements  <tbody> denotes collection of table rows that contain the very data  <tfoot> denotes table footer but comes BEFORE the <tbody> tag  <colgroup> and <col> define columns (used to set column widths) 12
  13. 13. Complete HTML Table: Example<table> <colgroup> columns <col style="width:100px" /><col /> </colgroup> th <thead> header <tr><th>Column 1</th><th>Column 2</th></tr> </thead> <tfoot> footer <tr><td>Footer 1</td><td>Footer 2</td></tr> </tfoot> <tbody> Last comes the body (data) <tr><td>Cell 1.1</td><td>Cell 1.2</td></tr> <tr><td>Cell 2.1</td><td>Cell 2.2</td></tr> </tbody></table> 13
  14. 14. Complete HTML Table: Example (2)<table> table-full.html <colgroup> <col style="width:200px" /><col /> </colgroup> <thead> <tr><th>Column 1</th><th>Column 2</th></tr> </thead> <tfoot> <tr><td>Footer 1</td><td>Footer 2</td></tr> </tfoot> <tbody> Although the footer is <tr><td>Cell 1.1</td><td>Cell 1.2</td></tr> <tr><td>Cellbefore the data in the 2.1</td><td>Cell 2.2</td></tr> </tbody> code, it is displayed last</table> 14
  15. 15. Complete HTML 5 Tables Live Demo
  16. 16. Nested TablesTables in Tables in Tables in Tables… 16
  17. 17. Nested Tables Table "cells" (<td>) can contain nested tables (tables within tables): <table> nested-tables.html <tr> <td>Contact:</td> <td> <table> <tr> <td>First Name</td> <td>Last Name</td> </tr> </table> </td> </tr> </table> 17
  18. 18. Nested Tables Live Demo
  19. 19. Complex TablesWith Padding, Spacing and Stuff
  20. 20. Cell Spacing and Padding Tables have two attributes related to space  cellspacing  cellpadding cell cell cell cell cell cell cell cell  Defines the  Defines the empty empty space space around the cell between cells content 20
  21. 21. Cell Spacing and Padding – Exampletable-cells.html<html> <head><title>Table Cells</title></head> <body> <table cellspacing="15" cellpadding="0"> <tr><td>First</td> <td>Second</td></tr> </table> <br/> <table cellspacing="0" cellpadding="10"> <tr><td>First</td><td>Second</td></tr> </table> </body></html> 21
  22. 22. Cell Spacing and Padding – Example (2)table-cells.html<html> <head><title>Table Cells</title></head> <body> <table cellspacing="15" cellpadding="0"> <tr><td>First</td> <td>Second</td></tr> </table> <br/> <table cellspacing="0" cellpadding="10"> <tr><td>First</td><td>Second</td></tr> </table> </body></html> 22
  23. 23. Table Cell Spacing and Cell Padding Live Demo
  24. 24. Row and Column Spans How to make a two-cells column? Or row?
  25. 25. Column and Row Span Cells have two attributes related to merging  colspan  rowspan colspan="1" colspan="1" rowspan="2" rowspan="1" cell[1,1] cell[1,2] cell[1,2] cell[1,1] cell[2,1] cell[2,1] colspan="2" rowspan="1"  Defines how  Defines how many columns many rows the the cell occupies cell occupies 25
  26. 26. Column and Row Span – Exampletable-colspan-rowspan.html<table cellspacing="0"> <tr class="1"><td>Cell[1,1]</td> <td colspan="2">Cell[2,1]</td></tr> <tr class="2"><td>Cell[1,2]</td> <td rowspan="2">Cell[2,2]</td> <td>Cell[3,2]</td></tr> <tr class="3"><td>Cell[1,3]</td> <td>Cell[2,3]</td></tr></table> 26
  27. 27. Column and Row Span –table-colspan-rowspan.html Example (2)<table cellspacing="0"> <tr class="1"><td>Cell[1,1]</td> <td colspan="2">Cell[2,1]</td></tr> <tr class="2"><td>Cell[1,2]</td> <td rowspan="2">Cell[2,2]</td> <td>Cell[3,2]</td></tr> <tr class="3"><td>Cell[1,3]</td> Cell[1,1] <td>Cell[2,3]</td></tr> Cell[2,1]</table> Cell[1,2] Cell[3,2] Cell[2,2] Cell[1,3] Cell[2,3] 27
  28. 28. Row and Columns Spans Live Demo 28
  29. 29. HTML 5 FormsEntering User Data from a Web Page
  30. 30. What are HTML 5 Forms? The primary method for gathering data from site visitors HTML 5 Forms can contain  Text fields for the user to type  Buttons for interactions like "Register", "Login", "Search"  Menus, Sliders, etc… Check Google, Yahoo, Facebook  Google search field is a simple Text field 30
  31. 31. How to Create Forms? Create a form block with <form></form> The "method" attribute tells how the form data should be sent – via GET or POST request Example: <form name="myForm" method="post" action="path/to/some-script.php"> ... </form> The "action" attribute tells where the form data should be sent 31
  32. 32. Text Fields Single-line text input fields: <input type="text" name="FirstName" value="This is a text field" /> Multi-line text input fields (textarea): <textarea name="Comments">This is a multi-line text field</textarea> Password input – a text field which masks the entered text with * signs <input type="password" name="pass" /> 32
  33. 33. Buttons Reset button – brings the form to its initial state <input type="reset" name="resetBtn" value="Reset the form" /> Submit button: <input type="submit" value="Apply Now" /> Image button – acts like submit but image is displayed and click coordinates are sent <input type="image" src="submit.gif" name="submitBtn" alt="Submit" /> Ordinary button – no default action, used with JS <input type="button" value="click me" /> 33
  34. 34. Checkboxes and Radio Buttons Checkboxes: <input type="checkbox" name="fruit" value="apple" /> Radio buttons: <input type="radio" name="title" value="Mr." /> Radio buttons can be grouped, allowing only one to be selected from a group: <input type="radio" name="city" value="Lom" /> <input type="radio" name="city" value="Ruse" /> 34
  35. 35. Select Fields Dropdown menus: <select name="gender"> <option value="Value 1" selected="selected">Male</option> <option value="Value 2">Female</option> <option value="Value 3">Other</option> </select> Multiple-choice menus <select name="products" multiple="multiple"> <option value="Value 1" selected="selected">keyboard</option> <option value="Value 2">mouse</option> </select> 35
  36. 36. Hidden Fields Hidden fields contain invisible data <input type="hidden" name="Account" value="This is a hidden text field" />  Not shown to the user  Used by JavaScript and server-side code  ViewState, SessionState, etc.. 36
  37. 37. Labels Labels are used to associate an explanatory text to a form field using the fields ID. <label for="fn">First Name</label> <input type="text" id="fn" /> Clicking on a label focuses its associated field (checkboxes are toggled, radio buttons are checked) Labels are both a usability and accessibility feature and are required in order to pass accessibility validation. 37
  38. 38. Fieldsets Fieldsets are used to enclose a group of related form fields: <form method="post" action="form.aspx"> <fieldset> <legend>Client Details</legend> <input type="text" id="Name" /> <input type="text" id="Phone" /> </fieldset> <fieldset> <legend>Order Details</legend> <input type="text" id="Quantity" /> <textarea cols="40" rows="10" id="Remarks"></textarea> </fieldset> </form> The <legend> is the fieldsets title. 38
  39. 39. HTML 5 Forms Inputs Fields Live Demo
  40. 40. Sliders and Spinboxes Lets make it spin
  41. 41. Range and Spinbox Restricts users to enter only numbers  Additional attributes min, max and step and value  Can become Spinbox or Slider, depending on the input type <input type="range" min="0" max="100" /> <input type="number" min="0" max="100" />  Have some differences on different browsers  Sliders and Spinboxes do not work on Firefox  Shown as regular textboxes 41
  42. 42. Sliders and Spinboxes Live Demo
  43. 43. Attributes from HTML 5 Autocomplete  The browser stores the previously typed values  Brings them back on a later visit on the same page Autofocus  The field becomes on focus on page load Required  The field is required to be filled/selected 43
  44. 44. Input Fields with Validation Email – provides a simple validation for email  Can be passed a pattern for validation  On a mobile device brings the email keyboard <input type="email" required="true" pattern="[^ @]*@[^ @].[^ @]"/> URL – has validation for url  On a mobile device brings the url keyboard <input type="url" required="true" /> Telephone  Brings the numbers keyboard <input type="tel" required="true" /> 44
  45. 45. HTML Forms Validation Live Demo
  46. 46. TabIndex The tabindex HTML attribute controls the order in which form fields and hyperlinks are focused when repeatedly pressing the TAB key  tabindex="0" (zero) - "natural" order  If X < Y, then elements with tabindex="X" are iterated before elements with tabindex="Y"  Elements with negative tabindex are skipped, however, this is not defined in the standard <input type="text" tabindex="10" /> 46
  47. 47. Tab Index Live Demo
  48. 48. HTML Frames<frameset>, <frame> and <iframe>
  49. 49. HTML Frames Frames provide a way to show multiple HTML documents in a single Web page The page can be split into separate views (frames) horizontally and vertically Frames were popular in the early ages of HTML development, but now their usage is rejected Frames are not supported by all user agents (browsers, search engines, etc.)  A <noframes> element is used to provide content for non-compatible agents. 49
  50. 50. HTML Frames – Demo frames.html<html> <head><title>Frames Example</title></head> <frameset cols="180px,*,150px"> <frame src="left.html" /> <frame src="middle.html" /> <frame src="right.html" /> </frameset></html> Note the target attribute applied to the <a> elements in the left frame. 50
  51. 51. Inline Frames: <iframe> Inline frames provide a way to show one website inside another website: iframe-demo.html <iframe name="iframeGoogle" width="600" height="400" src="http://www.google.com" frameborder="yes" scrolling="yes"></iframe> 51
  52. 52. HTML 5 – Tables, Forms and Frames курсове и уроци по програмиране, уеб дизайн – безплатно BG Coder - онлайн състезателна система - online judge курсове и уроци по програмиране – Телерик академия форум програмиране, форум уеб дизайн уроци по програмиране и уеб дизайн за ученици ASP.NET курс - уеб програмиране, бази данни, C#, .NET, ASP.NET http://academy.telerik.com програмиране за деца – безплатни курсове и уроци ASP.NET MVC курс – HTML, SQL, C#, .NET, ASP.NET MVC безплатен SEO курс - оптимизация за търсачки алго академия – състезателно програмиране, състезаниякурсове и уроци по програмиране, книги – безплатно от Наков курс мобилни приложения с iPhone, Android, WP7, PhoneGap уроци по уеб дизайн, HTML, CSS, JavaScript, Photoshop Дончо Минков - сайт за програмиране free C# book, безплатна книга C#, книга Java, книга C# Николай Костов - блог за програмиране безплатен курс "Качествен програмен код" безплатен курс "Разработка на софтуер в cloud среда" C# курс, програмиране, безплатно
  53. 53. Homework1. Create Web Pages like the following using tables:2. Create a Web Page like the following using forms: 53
  54. 54. Homework (2)3. Create a Web form that looks like this sample: 54
  55. 55. Homework (3)4. Create a Calculator-like table. You should use a HTML 5 form for the Calculator  Buttons for all the numbers and operators (+, -, etc.)  Textbox for the result  Do not make the same styles as the example. 55
  56. 56. Homework (4)5. Create the following using tables and forms: 56
  57. 57. Homework (5)6. Construct the following Grid component:  Try to make a HTML page, that looks just like the example  Not required to style for the homework 57
  58. 58. Homework (7)7. Create the following HTML 5 Page  Hint: Use Fieldsets and Nested tables 58
  59. 59. Free Trainings @ Telerik Academy "Web Design with HTML 5, CSS 3 and JavaScript" course @ Telerik Academy  html5course.telerik.com Telerik Software Academy  academy.telerik.com Telerik Academy @ Facebook  facebook.com/TelerikAcademy Telerik Software Academy Forums  forums.academy.telerik.com