Table of contents : Title Page Copyright Page Table of Contents Introduction About this Book Foolish Assumptions Icons Used in This Book Beyond the Book Where to Go from Here Part I: Getting Started with HTML and CSS on the Web Chapter 1: An Overview of HTML and CSS on the Web How and Where Web Pages Come to Life Online HyperText Content versus presentation Web browsers Getting to know Internet protocols Understanding HTML and Its Versions Different versions of HTML Creating HTML markup Building HTML documents Understanding the Role of CSS Different versions here, too Creating CSS markup Dissecting a Simple Markup Example Where’s the HTML? Where’s the CSS? A partnership of equals Chapter 2: Meeting the Structure and Components of HTML Like Any Language: Syntax and Rules Color-coding the markup Breaking down the elements Adding Attributes to Your HTML Examining Entities in Markup Non-ASCII characters Character codes (Special) tag characters Organizing Web Pages Organizing HTML text Complementing and enhancing text Chapter 3: Creating and Viewing a Web Page Before You Get Started Creating a Page from Scratch Step 0: Gather your tools Step 1: Planning a simple design Step 2: Writing some HTML Step 3: Saving your page Step 4: Viewing your page Editing an Existing Web Page Posting Your Page Online Part II: Getting the Structure and Text Right Chapter 4: HTML Documents Need Good Structure Establishing a Document Structure HTML Document Organization Revisited HTML DOCTYPE Starts Things Off The Element Anatomy of the Meeting the himself Handling metadata with Redirecting users to another page Naming your page with a The Is a BIG Container Chapter 5: Text and Lists Formatting Text Paragraphs Headings Controlling Text Blocks Block quotes Preformatted text Horizontal rules Organizing Information Numbered lists Bulleted lists Defi nition lists Nesting lists Chapter 6: Tip-Top Tables in HTML How Got a Bad Name in HTML What’s in a Table? LOTS of Markup Setting Up a Table Border The Table Head () and Its Elements Managing Table Layouts Making Good Table Bodies Shaping a solid table Sitting at the Footer of the Table Exploring and Explaining a Table Oh caption, my caption Is the header dead yet? Marching through the table body Finishing with the footer Chapter 7: Working with Forms in HTML Exploring Types of Web Forms Search forms Data collection forms Creating Forms Structure Input tags Input fi elds Form validation Processing Data Processing forms on your pages Designing User-Friendly Forms Other Noteworthy Forms-Related Markup Form Frameworks Part III: Adding Links, Images, and Other Media Chapter 8: Getting Hyper with Links in HTML Basic Links 101 Exploring link options Avoiding common mistakes Customizing Links Opening new windows Specifying locations in web pages Linking to non-HTML resources Chapter 9: Working with Images in HTML The Role of Images in a Web Page Creating Web-Friendly Images Adding an Image to a Web Page Image location Using the element Adding alternative and title text Specifying image size Image borders and alignment Images That Link Triggering links Building image maps Chapter 10: Managing Media and More in HTML The Battle of the Media Formats Meet the major audio formats Meet the major video formats Comparing Traditional and HTML5 Media Handling Mastering HTML5 Media Markup Making beautiful music with audio Moving media with video Undergoing the conversion experience Working with Web Page Controls Displaying a meter bar Tracking progress on activities Tracking and reporting on time Updating HTML5 controls Part IV: Adopting CSS Style Chapter 11: Advantages of Style Sheets Advantages of Style Sheets The four steps to style Understanding the C in CSS What CSS can do for a web page Styling a Document with CSS Using HTML5 Boilerplate Normalize before you stylize What you can do with CSS Putting CSS in Its Place Pixels, points, and dots — Oh my! Understanding the viewport Property measurement values About the CSS3 Standard Chapter 12: CSS Structure and Syntax Exploring CSS Structure and Syntax Selectors and declarations The selectors Inheriting styles Understanding the Cascade Chapter 13: Using Different Kinds of Style Sheets Applying Inline Styles Getting to Know Internal Style Sheets Understanding the element Figuring out internal style sheet scope Working with External Style Sheets CSS fi les Link element attributes Importing and when to use @import Part V: Enhancing Your Pages’ Look and Feel Chapter 14: Managing Layout and Positioning Managing Layout Tiny boxes Block versus inline elements Normal flow Managing Positioning About coordinates and offsets Relative positioning Absolute positioning Floating Using a Layout Generator Chapter 15: Building with Boxes, Borders, and Buttons Meeting the Box Model Putting the Box Model into Practice Specifying padding and margin widths Adding borders Aligning text Indenting text Creating buttons with CSS Chapter 16: Using Colors and Backgrounds Defi ning Color Values Color names Color numbers Defi ning Color Defi nitions Text Links Backgrounds Advanced backgrounds Chapter 17: Web Typography Finding Out about Fonts Font family Sizing Trying Out Text Treatments Embolden with bold Emphasizing with italic Changing capitalization Getting fancy with the text-decoration property Checking Out the Catchall Font Property Experimenting with Web Fonts Font fi le formats Finding fonts Linking fonts Using Google Fonts Chapter 18: CSS Text and Shadow Effects Creating Shadows text-shadow box-shadow Creating Inset Text Creating 3D Text Creating a Letterpress Effect Drop Shadows Text Rotation Chapter 19: Multimedia and Animation with CSS Using CSS with Multimedia Visual media styles Paged media styles Getting Animated Using the animation properties Creating animations with @keyframes Animating color Part VI: The Part of Tens Chapter 20: Ten Keys to Mobile Web Design Design for Different Mobile Devices Design for People Design for Small Screens Design for Low Bandwidth Design for Touch Design for Distracted Surfers Test on Many Mobile Devices Design for Simplicity Set Up Mobile Web Addresses Include a Link to the Desktop Site Chapter 21: Ten HTML Do’s and Don’ts Don’t Lose Sight of Your Content Do Structure Your Documents and Your Site Do Make the Most from the Least Do Build Attractive Pages Don’t Lose Track of Those Tags Do Avoid Browser Dependencies Don’t Make It Hard to Navigate Your Wild and Woolly Web Don’t Think Revolution, Think Evolution Don’t Get Stuck in the Two-Dimensional-Text Trap Don’t Let Inertia Overcome You Chapter 22: Ten Ways to Kill Web Bugs Dead Make a List and Check It — Twice Master Text Mechanics Lack of Live Links — a Lousy Legacy When Old Links Must Linger Make Your Content Mirror Your World Look for Trouble in All the Right Places Cover All the Bases with Peer Reviews Use the Best Tools of the Testing Trade Schedule Site Reviews Foster User Feedback If You Give to Them, They’ll Give to You! Chapter 23: Ten Cool HTML Tools and Technologies WYSIWYG HTML Editors Dreamweaver Other WYSIWYG editors Helper HTML Editors Aptana Studio Other helper editors Inexpensive Graphics Editors Professional Graphics Editors Adobe Photoshop Adobe Fireworks W3C Link Checker Other Link Checkers HTML Validators FTP Clients Miscellaneous Helpful Web Tools Part VII: Appendixes Appendix A: Twitterati Appendix B: About the Dummies HTML Site About WordPress The dashboard Appearance and themes Pages and posts Widgets Responsive Design HTML5 Cafe The home page About Us The Menu Contact Us HTML5 Boilerplate Index EULA
Table of Contents Introduction ................................................................. 1 About this Book ............................................................................................... 2 Foolish Assumptions ....................................................................................... 3 Icons Used in This Book ................................................................................. 4 Beyond the Book ............................................................................................. 4 Where to Go from Here ................................................................................... 5
Part I: Getting Started with HTML and CSS on the Web ... 7 Chapter 1: An Overview of HTML and CSS on the Web . . . . . . . . . . . . .9 How and Where Web Pages Come to Life Online ...................................... 10 HyperText ............................................................................................. 10 Content versus presentation .............................................................. 14 Web browsers ...................................................................................... 14 Getting to know Internet protocols ................................................... 16 Understanding HTML and Its Versions ....................................................... 17 Different versions of HTML................................................................. 17 Creating HTML markup ....................................................................... 18 Building HTML documents ................................................................. 19 Understanding the Role of CSS .................................................................... 20 Different versions here, too . . . .......................................................... 20 Creating CSS markup ........................................................................... 21 Dissecting a Simple Markup Example ......................................................... 22 Where’s the HTML? ............................................................................. 22 Where’s the CSS?.................................................................................. 23 A partnership of equals....................................................................... 23
Chapter 2: Meeting the Structure and Components of HTML. . . . . . . .25 Like Any Language: Syntax and Rules ......................................................... 25 Color-coding the markup .................................................................... 26 Breaking down the elements .............................................................. 27 Adding Attributes to Your HTML ................................................................ 29 Examining Entities in Markup ...................................................................... 30 Non-ASCII characters........................................................................... 30 Character codes ................................................................................... 31 (Special) tag characters ...................................................................... 32 Organizing Web Pages .................................................................................. 32 Organizing HTML text ......................................................................... 34 Complementing and enhancing text .................................................. 36
iv
Beginning HTML5 & CSS3 For Dummies Chapter 3: Creating and Viewing a Web Page . . . . . . . . . . . . . . . . . . . .37 Before You Get Started ................................................................................. 37 Creating a Page from Scratch ....................................................................... 39 Step 0: Gather your tools .................................................................... 39 Step 1: Planning a simple design ........................................................ 40 Step 2: Writing some HTML ................................................................ 41 Step 3: Saving your page ..................................................................... 44 Step 4: Viewing your page ................................................................... 46 Editing an Existing Web Page ....................................................................... 47 Posting Your Page Online ............................................................................. 49
Part II: Getting the Structure and Text Right ................ 51 Chapter 4: HTML Documents Need Good Structure. . . . . . . . . . . . . . . .53 Establishing a Document Structure............................................................. 53 HTML Document Organization Revisited ................................................... 54 HTML DOCTYPE Starts Things Off .............................................................. 55 The Element ...................................................................................... 56 Anatomy of the ................................................................................. 56 Meeting the himself................................................................ 57 Handling metadata with ........................................................ 57 Redirecting users to another page .................................................... 58 Naming your page with a ........................................................ 61 The Is a BIG Container .................................................................... 61
Got a Bad Name in HTML ....................................................... 81 What’s in a Table? LOTS of Markup ............................................................ 82 Setting Up a Table Border ............................................................................ 84
Table of Contents The Table Head () and Its Elements .............................................. 85 Managing Table Layouts ............................................................................... 87 Making Good Table Bodies........................................................................... 89 Shaping a solid table ........................................................................... 89 Sitting at the Footer of the Table ................................................................. 92 Exploring and Explaining a Table ................................................................ 92 Oh caption, my caption ....................................................................... 93 Is the header dead yet? ....................................................................... 93 Marching through the table body ...................................................... 94 Finishing with the footer ..................................................................... 94
Chapter 7: Working with Forms in HTML. . . . . . . . . . . . . . . . . . . . . . . . .97 Exploring Types of Web Forms ................................................................... 97 Search forms......................................................................................... 98 Data collection forms .......................................................................... 99 Creating Forms............................................................................................. 100 Structure ............................................................................................. 101 Input tags ............................................................................................ 102 Input fields .......................................................................................... 103 Form validation .................................................................................. 113 Processing Data ........................................................................................... 115 Processing forms on your pages...................................................... 115 Designing User-Friendly Forms .................................................................. 117 Other Noteworthy Forms-Related Markup ............................................... 118 Form Frameworks ........................................................................................ 120
Part III: Adding Links, Images, and Other Media ........ 123 Chapter 8: Getting Hyper with Links in HTML. . . . . . . . . . . . . . . . . . . .125 Basic Links 101 ............................................................................................. 125 Exploring link options ....................................................................... 127 Avoiding common mistakes ............................................................. 129 Customizing Links ....................................................................................... 130 Opening new windows ...................................................................... 130 Specifying locations in web pages ................................................... 132 Linking to non-HTML resources....................................................... 134
Chapter 9: Working with Images in HTML. . . . . . . . . . . . . . . . . . . . . . .139 The Role of Images in a Web Page ............................................................. 139 Creating Web-Friendly Images ................................................................... 140 Adding an Image to a Web Page................................................................. 142 Image location .................................................................................... 142 Using the element ................................................................... 143
v
vi
Beginning HTML5 & CSS3 For Dummies Adding alternative and title text ...................................................... 143 Specifying image size......................................................................... 146 Image borders and alignment........................................................... 149 Images That Link.......................................................................................... 149 Triggering links .................................................................................. 149 Building image maps ......................................................................... 150
Chapter 10: Managing Media and More in HTML . . . . . . . . . . . . . . . .153 The Battle of the Media Formats ............................................................... 154 Meet the major audio formats .......................................................... 155 Meet the major video formats .......................................................... 156 Comparing Traditional and HTML5 Media Handling .............................. 157 Mastering HTML5 Media Markup .............................................................. 158 Making beautiful music with audio.................................................. 158 Moving media with video .................................................................. 159 Undergoing the conversion experience .......................................... 162 Working with Web Page Controls .............................................................. 163 Displaying a meter bar ...................................................................... 163 Tracking progress on activities ....................................................... 165 Tracking and reporting on time ....................................................... 166 Updating HTML5 controls................................................................. 168
Part IV: Adopting CSS Style ...................................... 169 Chapter 11: Advantages of Style Sheets . . . . . . . . . . . . . . . . . . . . . . . .171 Advantages of Style Sheets......................................................................... 172 The four steps to style ...................................................................... 173 Understanding the C in CSS .............................................................. 174 What CSS can do for a web page ...................................................... 174 Styling a Document with CSS ..................................................................... 175 Using HTML5 Boilerplate .................................................................. 176 Normalize before you stylize ............................................................ 176 What you can do with CSS ................................................................ 180 Putting CSS in Its Place ............................................................................... 182 Pixels, points, and dots — Oh my! ................................................... 182 Understanding the viewport............................................................. 183 Property measurement values ......................................................... 184 About the CSS3 Standard ............................................................................ 186
Table of Contents Chapter 13: Using Different Kinds of Style Sheets. . . . . . . . . . . . . . . .207 Applying Inline Styles .................................................................................. 208 Getting to Know Internal Style Sheets ...................................................... 210 Understanding the
Chapter 7: Working with Forms in HTML
Multi-Part Form
Name and Password
First Name:
Last Name:
Password:
Favorite Foods
What are some of your favorite foods?
Pizza
Ice Cream
Green Eggs and Ham
Gender Information
What is your gender?
Male
Female
Figure 7-11 shows how a browser renders these buttons in a form.
Form validation No matter how brilliant your site’s visitors may be, there’s always a chance that they’ll enter data you aren’t expecting or perhaps leave some important field unfilled. JavaScript to the rescue!
113
114
Part II: Getting the Structure and Text Right
Figure 7-11: Submit and Reset buttons are labeled as Send and Clear.
Form validation is the process of checking data the user enters before it’s put into your database. You can check the data either with local JavaScript or PHP scripts on your server.
JavaScript You can validate entries in JavaScript before data goes to the server. This means that visitors don’t wait for your server to check the data. They’re told quickly (before they click Submit, if you want) if there’s a problem. If you want to use JavaScript in your forms and on your website, you can read more about it online at these sites: ✓ www.w3schools.com/js/default.asp ✓ www.quirksmode.org/js/forms.html ✓ www.webmonkey.com/2010/02/javascript_tutorial
Chapter 7: Working with Forms in HTML PHP You need to validate your form data on the server side because users can surf with JavaScript turned off. (They’ll have a slower validation process.) Find out more about PHP at these sites: ✓ www.4guysfromrolla.com/webtech/LearnMore/Validation.asp ✓ ww35.php101.com/book
Processing Data Getting form data is really only half the form battle. You create form elements to get data from users, but then you have to do something with that data. Of course, your form and your data are unique every time, so no single, generic form handler can manage the data for every form. Before you can find (or write) a program that handles your form data, you must know what you want to do with it. For example: ✓ If you just want to receive comments from a web form by e-mail, you might need only a simple mailto: URL. ✓ If a form gathers information from users to display in a guest book, you • Add the data to a text file or a small database that holds the entries. • Create a web page that displays the guest-book entries. ✓ If you want to use a shopping cart, you need programs and a database that can handle inventory, customer order information, shipping data, and cost calculations. Your web-hosting provider — whether it’s an internal IT group or an ISP you pay monthly — has the final say in what kind of applications you can use on your website to handle form data. If you want to use forms on your site, be sure that your hosting provider supports the applications you need to run on the server to process form input data (which normally uses the post or get method that we discuss earlier in this chapter). Chapter 3 includes more information on finding the right ISP to host your pages.
Processing forms on your pages Typically, form data is processed in some way or another by some kind of program running on a web server. It might be a PHP script written in some programming language such as Perl, Java, or AppleScript, or a different handler program written using PHP, Apache, Java Server Pages (JSP), ASP, or
115
116
Part II: Getting the Structure and Text Right other programs that run on web servers to process user input. These programs make data from your form useful by ✓ Putting it into a database or sharing it with some other kind of program. ✓ Creating customized HTML based on the data. ✓ Writing the data to a flat file. Flat file is computer-geek speak for a plain, unadorned text file, or one that uses commas or tab characters on individual lines of text to separate field values (also known as CSV for comma-separated values or TSV for tab-separated values). You don’t have to be a programmer to make the most of forms. Many ISPs support (and provide) scripts for processing common forms, such as guest books, comment forms, and even shopping carts. Your ISP may give you ✓ All the information you need to get an input-processing program up and running ✓ HTML to include in your pages so they can interact with that program You can tweak the markup that manages how the form appears in the canned HTML you get from an ISP, but don’t change the form itself — especially the tag names and values. The web-server program uses these to make the entire process work. Several online script repositories provide free scripts that you can download and use along with your forms. Many of these also come with some generic HTML you can dress up and tweak to fit your website. You simply drop the program that processes the form into the folder on your site that holds programs (sometimes called php-bin, often something else), add the HTML to your page, and you’re good to go. Some choice places on the web to find scripts you can download and put to work immediately are ✓ Matt’s Script archive: www.scriptarchive.com/nms.html ✓ The PHP Resource Index: http://php.resourceindex.com ✓ The Developer.com Network: www.developer.com Handling forms is beyond the scope of this book, but you can find out more about them from these friendly For Dummies titles: ✓ PHP and MySQL For Dummies, 4th Edition (2009) www.dummies.com/store/product/PHP-and-MySQL-ForDummies-4th-Edition.productCd-0470527587.html
Chapter 7: Working with Forms in HTML ✓ HTML5 Programming with JavaScript For Dummies (2013) www.dummies.com/store/product/HTML5-Programming-withJavaScript-For-Dummies.productCd-1118431669. html
Designing User-Friendly Forms Designing useful forms is a different undertaking from designing easy-to-use forms. Your form may gather the data that you need, but if your form is difficult for visitors to use, they may abandon it before they’re done. As you use the markup elements from this chapter, along with the other elements that drive page layout, keep the following guidelines in mind: ✓ Provide textual cues for all your forms. Be clear about the information you want and the format you need. For example, tell users details such as whether • Dates must be entered as mm/dd/yy (versus mm/dd/yyyy). • The number of characters a field can take is limited. As we explain earlier in this chapter, you can limit character by using the maxlength attribute. ✓ Use field width and character limits to provide visual clues. For example, if users should enter a credit card number as xxxx-xxxx-xxxx-xxxx, consider creating four text fields — one for each part of the number. ✓ Group similar fields. A logical grouping of fields makes filling out a form easier. It’s confusing if you ask for the visitor’s first name, then birthday, and then last name. ✓ Break long forms into easy-to-manage sections. Forms in short chunks are less intimidating and more likely to be completed. Major online retailers (such as Amazon.com — www.amazon.com) use this method to get the detail they need for orders without making the process too painful. ✓ Mark required fields clearly. If some parts of your form can’t be left blank when users submit the form, mark those fields clearly. You can identify required fields by • Making them bold • Using a different color • Placing an asterisk beside them ✓ Write helpful, friendly error messages. Make sure your form validation feedback makes sense to site visitors (check them with a group of testers
117
118
Part II: Getting the Structure and Text Right just to make sure). Nothing turns visitors away like cryptic unhelpful message. (“Type 42 error” may mean something to a programmer, but not to anybody else.) ✓ Tell users what kind of information they need for the form. If users need any information in their hands before they fill out your form, a form gateway page can detail everything users should have before they start filling out the form. The series of forms that RateGenius uses to gather information for car loans and loan refinancing are excellent examples of long forms that collect a variety of different kinds of data by using all the available form markup elements. Visit www.rategenius.com to review its form techniques.
Other Noteworthy Forms-Related Markup Table 7-1 lists other forms-related HTML markup attributes that you might find in HTML files.
Table 7-1
Other Forms-Related (X)HTML Attributes
Name
Function/Value Equals
Value Types
Accept
Lists acceptable MIME types for file upload Lists character encodings
CS Media types
acceptcharset Checked Disabled
Enctype
For Label Label
Preselects option for select lists Disables form elements
Specifies encoding method for form input data Points to ID reference from other attributes Identifies a group of options in a form Specifies an option name in a form
Character set encodings "checked" "disabled"
Related Element(s)
Media type
Idref
Text
Text
Chapter 7: Working with Forms in HTML Name
Function/Value Equals
Value Types
Method
HTTP method to use when submitting a form Permits selection of multiple options in a form Names a specific form control Names a specific form input field Names a form for script access Blocks editing of text fields within a form Specifies number of lines of text to display for a drop-down menu Defines tabbing order for form fields
{"get"| "put"} "multiple"
Multiple Name Name Name Readonly Size
Tabindex
Type
Defines button function in a form
Type
Specifies type of input required for form input field
Value
Supplies a value to send to the server when clicked Associates values with radio buttons and check boxes