Tải bản đầy đủ (.pdf) (1,084 trang)

Tài liệu HTML, XHTML and CSS All-In-One For Dummies, 2nd Edition docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (18.43 MB, 1,084 trang )

ALL-IN-ONE
Making Everything Easier!

$39.99 US / $47.99 CN / £27.99 UK
ISBN 978-0-470-53755-8
Programming Languages/HTML
Go to Dummies.com
®
for videos, step-by-step examples,
how-to articles, or to shop!
Harris
spine=2.16”
HTML, XHTML,
& CSS
ALL-IN-ONE
HTML, XHTML,
& CSS
• Creating the HTML/XHTML Foundation
• Styling with CSS
• Using Positional CSS
• Client-Side Programming with JavaScript®
• Server-Side Programming with PHP
• Managing Data with MySQL®
• Into the Future with AJAX
• Moving from Pages to Sites
Andy Harris
Open the book and find:
• The basics of building XHTML
documents
• What to do with selectors,
classes, and styles


• How to build flexible layouts
• Tips on using HTML5
• Secrets of managing files and
directories
• All about SQL coding
• AJAX essentials and how to
add events with jQuery
• The advantages of a Content
Management System
You too can become a
Web wizard! Here’s how to go
from simple pages to super sites
Contemplating your first dip into Web page creation, or
ready to take your sites to the next level? All you need are
these eight minibooks. Newbies can start at the beginning
for a complete understanding of basic page creation with
HTML5, XHTML, and CSS. If you’ve been there and done
that, jump ahead to managing data with MySQL, building
AJAX connections, and more!
• Lay the foundation — build the skeleton of your pages with
XHTML, use CSS to add color and formatting, and create dynamic
buttons or menus
• Serve it up — m
ove to the server and use PHP to program
responses to Web requests or connect to databases
• Manage data — s
et up a secure data server and create a reliable
and trustworthy data back-end for your site
• Explore AJAX — learn the essentials of AJAX, how to add events
and a

nimation, and cool ways to use the UI library
• Create super sites — u
nderstand clients and servers, work with
content management systems, and more
Andy Harris taught himself programming because it was fun. Today he
teaches computer science, game development, and Web programming at
the university level; is a technology consultant for the state of Indiana; and
has helped people with disabilities to form their own Web development
companies.
8

IN
1
BOOKS
BOOKS
Valuable bonus programs on CD-ROM
Bonus CD Includes
Firefox browser plus valuable extensions and plugins
Aptana programmer’s editor that simplifies the process
XAMPP, an easy-to-install server package
Visit the companion Web site at www.dummies.com/
go/htmlxhtmlandcssaiofd2e for code and other
supporting materials
Valuable bonus
tools on CD-ROM!
Covers HTML5 and prior versions of HTML!
2nd Edition
2nd Edition
www.it-ebooks.info
Mobile Apps

There’s a Dummies App for This and That
With more than 200 million books in print and over 1,600 unique
titles, Dummies is a global leader in how-to information. Now
you can get the same great Dummies information in an App. With
topics such as Wine, Spanish, Digital Photography, Certification,
and more, you’ll have instant access to the topics you need to
know in a format you can trust.
To get information on all our Dummies apps, visit the following:
www.Dummies.com/go/mobile from your computer.
www.Dummies.com/go/iphone/apps from your phone.
Start with FREE Cheat Sheets
Cheat Sheets include
• Checklists
• Charts
• Common Instructions
• And Other Good Stuff!
Get Smart at Dummies.com
Dummies.com makes your life easier with 1,000s
of answers on everything from removing wallpaper
to using the latest version of Windows.
Check out our
• Videos
• Illustrated Articles
• Step-by-Step Instructions
Plus, each month you can win valuable prizes by entering
our Dummies.com sweepstakes. *
Want a weekly dose of Dummies? Sign up for Newsletters on
• Digital Photography
• Microsoft Windows & Office
• Personal Finance & Investing

• Health & Wellness
• Computing, iPods & Cell Phones
• eBay
• Internet
• Food, Home & Garden
Find out “HOW” at Dummies.com
*Sweepstakes not currently available in all countries; visit Dummies.com for official rules.
Get More and Do More at Dummies.com
®
To access the Cheat Sheet created specifically for this book, go to
www.dummies.com/cheatsheet/htmlxhtmlandcss
spine=2.16”
www.it-ebooks.info
HTML, XHTML,
& CSS
ALL-IN-ONE
FOR
DUMmIES

2ND EDITION
01_9780470537558-ffirs.indd i01_9780470537558-ffirs.indd i 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
01_9780470537558-ffirs.indd ii01_9780470537558-ffirs.indd ii 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
by Andy Harris
HTML, XHTML,
& CSS
ALL-IN-ONE
FOR
DUMmIES


2ND EDITION
01_9780470537558-ffirs.indd iii01_9780470537558-ffirs.indd iii 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies
®
, 2nd Edition
Published by
Wiley Publishing, Inc.
111 River Street
Hoboken, NJ 07030-5774
www.wiley.com
Copyright © 2011 by Wiley Publishing, Inc., Indianapolis, Indiana
Published by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or
by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permit-
ted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written
permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the
Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600.
Requests to the Publisher for permission should be addressed to the Permission Department, John Wiley
& Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://
www.wiley.com/go/permissions.
Trademarks: Wiley, the Wiley Publishing logo, For Dummies, the Dummies Man logo, A Reference for the
Rest of Us!, The Dummies Way, Dummies Daily, The Fun and Easy Way, Dummies.com, Making Everything
Easier,
and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or
its af liates in the United States and other countries, and may not be used without written permission. All
other trademarks are the property of their respective owners. Wiley Publishing, Inc. is not associated with
any product or vendor mentioned in this book.

LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO
REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF
THE CONTENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITH-
OUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE
CREATED OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES
CONTAINED HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE
UNDERSTANDING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR
OTHER PROFESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF
A COMPETENT PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE
AUTHOR SHALL BE LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZA-
TION OR WEBSITE IS REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE
OF FURTHER INFORMATION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES
THE INFORMATION THE ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT
MAY MAKE. FURTHER, READERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS
WORK MAY HAVE CHANGED OR DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND
WHEN IT IS READ.
For general information on our other products and services, please contact our Customer Care
Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002.
For technical support, please visit www.wiley.com/techsupport.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may
not be available in electronic books.
Library of Congress Control Number: 2010937814
ISBN: 978-0-470-53755-8
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
01_9780470537558-ffirs.indd iv01_9780470537558-ffirs.indd iv 10/7/10 8:24 PM10/7/10 8:24 PM
Disclaimer: This eBook does not include ancillary media that was packaged with the
printed version of the book.
www.it-ebooks.info
About the Author

Andy Harris began his teaching life as a special education teacher. As he was
teaching young adults with severe disabilities, he taught himself enough com-
puter programming to support his teaching habit with freelance program-
ming. Those were the exciting days when computers started to have hard
drives, and some computers began communicating with each other over an
arcane mechanism some were calling the Internet.
All this time Andy was teaching computer science part time. He joined the
faculty of the Indiana University-Purdue University Indianapolis Computer
Science department in 1995. He serves as a Senior Lecturer, teaching the
introductory courses to freshmen as well as numerous courses on Web
development, general programming, and game programming. As manager
of the Streaming Media Laboratory, he developed a number of online video-
based courses, and worked on a number of international distance education
projects including helping to start a computer science program in Tetevo,
Macedonia FYR.
Andy is the author of several other computing books including JavaScript For
Dummies, Flash Game Programming For Dummies, and Game Programming:
the L Line. He invites your comments and questions at andy@aharris
books.net. You can visit his main site and  nd a blog, forum, and links to
other books at .
01_9780470537558-ffirs.indd v01_9780470537558-ffirs.indd v 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
01_9780470537558-ffirs.indd vi01_9780470537558-ffirs.indd vi 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
Dedication
I dedicate this book to Jesus Christ, my personal savior, and to Heather, the
joy in my life. I also dedicate this project to Elizabeth, Matthew, Jacob, and
Benjamin. I love each of you.
Author’s Acknowledgments
Thank you  rst to Heather. Even though I type all the words, this book is a

real partnership, like the rest of our life. Thanks for being my best friend and
companion. Thanks also for doing all the work it takes for us to sustain a
family when I’m in writing mode.
Thank you to Mark Enochs. It’s great to have an editor who gets me, and
who’s willing to get excited about a project. I really enjoy working with you.
Thanks very much to Katie Feltman. It’s fun to see how far a few wacky ideas
have gone. Thanks for continuing to believe in me, and for helping me to
always  nd an interesting new project.
Thank you to the copy editors:  rst and foremost, I thank Brian Walls for his
all his hard work in making this edition presentable. Thanks also go to Teresa
Artman, John Edwards, and Melba Hopper for their help. I appreciate your
efforts to make my geeky mush turn into something readable. Thanks for
improving my writing.
A special thanks to Jeff Noble for his technical editing. I appreciate your vigi-
lance. You have helped to make this book as technically accurate as possible.
Thank you to the many people at Wiley who contribute to a project like
this. The author only gets to meet a few people, but so many more are
involved in the process. Thank you very much for all you’ve done to help
make this project a reality.
Thanks to Chris McCulloh for all you did on the  rst edition, and I thank you
for your continued friendship.
A big thank you to the open source community which has created so many
incredible tools and made them available to all. I’d especially like to thank the
creators of Firefox, Firebug, Aptana, HTML Validator, the Web Developer tool-
bar, Ubuntu and the Linux community, Notepad++, PHP, Apache, jQuery, and
the various jQuery plugins. This is an amazing and generous community effort.
I’d  nally like to thank the IUPUI computer science family for years of support
on various projects. Thank you especially to all my students, current and
past. I’ve learned far more from you than the small amount I’ve taught. Thank
you for letting me be a part of your education.

01_9780470537558-ffirs.indd vii01_9780470537558-ffirs.indd vii 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
Publisher’s Acknowledgments
We’re proud of this book; please send us your comments through our online registration form
located at . For other comments, please contact our Customer
Care Department within the U.S. at 877-762-2974, outside the U.S. at 317-572-3993, or fax 317-572-4002.
Some of the people who helped bring this book to market include the following:
Acquisitions, Editorial, and Media
Development
Senior Project Editor: Mark Enochs
Senior Acquisitions Editor: Katie Feltman
Copy Editors: Brian Walls, Teresa Artman,
John Edwards, Melba Hopper
Technical Editor: Jeff Noble
Editorial Manager: Leah Cameron
Media Development Project Manager:
Laura Moss-Hollister
Media Development Assistant Project
Manager: Jenny Swisher
Media Development Assistant Producer:
Shawn Patrick
Editorial Assistant: Amanda Graham
Sr. Editorial Assistant: Cherie Case
Cartoons: Rich Tennant
(www.the5thwave.com)
Composition Services
Project Coordinators: Katherine Crocker,
Lynsey Stanford
Layout and Graphics: Carl Byers,
Timothy C. Detrick

Proofreaders: Lauren Mandelbaum,
Christine Sabooni
Indexer: BIM Indexing & Proofreading Services
Special Help: Tonya Cupp,
Colleen Totz Diamond
Publishing and Editorial for Technology Dummies
Richard Swadley, Vice President and Executive Group Publisher
Andy Cummings, Vice President and Publisher
Mary Bednarek, Executive Acquisitions Director
Mary C. Corder, Editorial Director
Publishing for Consumer Dummies
Diane Graves Steele, Vice President and Publisher
Composition Services
Debbie Stailey, Director of Composition Services
01_9780470537558-ffirs.indd viii01_9780470537558-ffirs.indd viii 10/7/10 8:24 PM10/7/10 8:24 PM
www.it-ebooks.info
Contents at a Glance
Introduction 1
Book I: Creating the HTML/XHTML Foundation 7
Chapter 1: Sound HTML Foundations 9
Chapter 2: It’s All about Validation 19
Chapter 3: Choosing Your Tools 41
Chapter 4: Managing Information with Lists and Tables 65
Chapter 5: Making Connections with Links 83
Chapter 6: Adding Images 93
Chapter 7: Creating Forms 121
Chapter 8: The Future of HTML: HTML 5 141
Book II: Styling with CSS 157
Chapter 1: Coloring Your World 159
Chapter 2: Styling Text 177

Chapter 3: Selectors, Class, and Style 201
Chapter 4: Borders and Backgrounds 219
Chapter 5: Levels of CSS 239
Book III: Using Positional CSS 257
Chapter 1: Fun with the Fabulous Float 259
Chapter 2: Building Floating Page Layouts 279
Chapter 3: Styling Lists and Menus 299
Chapter 4: Using Alternative Positioning 317
Book IV: Client-Side Programming with JavaScript 335
Chapter 1: Getting Started with JavaScript 337
Chapter 2: Making Decisions with Conditions 359
Chapter 3: Loops and Debugging 373
Chapter 4: Functions, Arrays, and Objects 395
Chapter 5: Talking to the Page 423
Chapter 6: Getting Valid Input 445
Chapter 7: Animating Your Pages 467
02_9780470537558-ftoc.indd ix02_9780470537558-ftoc.indd ix 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Book V: Server-Side Programming with PHP 499
Chapter 1: Getting Started on the Server 501
Chapter 2: PHP and XHTML Forms 519
Chapter 3: Control Structures 539
Chapter 4: Working with Arrays 559
Chapter 5: Using Functions and Session Variables 579
Chapter 6: Working with Files and Directories 591
Chapter 7: Connecting to a MySQL Database 613
Book VI: Managing Data with MySQL 635
Chapter 1: Getting Started with Data 637
Chapter 2: Managing Data with SQL 665
Chapter 3: Normalizing Your Data 691

Chapter 4: Putting Data Together with Joins 705
Book VII: Into the Future with AJAX 729
Chapter 1: AJAX Essentials 731
Chapter 2: Improving JavaScript and AJAX with jQuery 747
Chapter 3: Animating jQuery 771
Chapter 4: Using the jQuery User Interface Toolkit 797
Chapter 5: Improving Usability with jQuery 823
Chapter 6: Working with AJAX Data 843
Book VIII: Moving from Pages to Sites 867
Chapter 1: Managing Your Servers 869
Chapter 2: Planning Your Sites 895
Chapter 3: Introducing Content Management Systems 915
Chapter 4: Editing Graphics 941
Chapter 5: Taking Control of Content 961
Appendix A: What’s on the CD 979
Index 985
02_9780470537558-ftoc.indd x02_9780470537558-ftoc.indd x 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
Introduction 1
No Experience Necessary 2
Great for Advanced Folks, Too! 2
Use Any Computer 3
Don’t Buy Any Software 3
How This Book Is Organized 4
New for the Second Edition 5
Icons Used in This Book 6
What’s Next? 6
Book I: Creating the HTML/XHTML Foundation 7
Chapter 1: Sound HTML Foundations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

Creating a Basic Page 9
Understanding the HTML in the Basic Page 11
Meeting Your New Friends, the Tags 12
Setting Up Your System 15
Displaying  le extensions 15
Setting up your software 16
Chapter 2: It’s All about Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Somebody Stop the HTML Madness! 19
XHTML to the rescue 20
There’s XHTML and there’s good XHTML 21
Building an XHTML Document 22
Don’t memorize all this! 22
The DOCTYPE tag 22
The xmlns attribute 23
The meta tag 23
You validate me 23
Validating Your Page 25
Aesop visits W3C 27
Showing off your mad skillz 35
Using Tidy to repair pages 37
02_9780470537558-ftoc.indd xi02_9780470537558-ftoc.indd xi 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xii
Chapter 3: Choosing Your Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
What’s Wrong with the Big Boys? 41
Alternative Web Development Tools 43
The features you need on your computer 43
Building a basic toolbox 43
Picking a Text Editor 44

Tools to avoid unless you have nothing else 44
A noteworthy editor: Notepad++ 45
The old standards: VI and Emacs 46
Other text editors 49
The Web Developer’s Browser 49
A little ancient history 49
Overview of the prominent browsers 50
Other notable browsers 52
The bottom line in browsers 53
Tricking Out Firefox 53
Validating your pages with HTML Validator 54
Using the Web Developer toolbar 55
Using Firebug 57
Using a Full-Blown IDE 58
Introducing Aptana 58
Customizing Aptana 60
Introducing Komodo Edit 62
Chapter 4: Managing Information with Lists and Tables . . . . . . . . . . .65
Making a List and Checking It Twice 65
Creating an unordered list 65
Creating ordered lists 67
Making nested lists 69
Building the de nition list 72
Building Tables 74
De ning the table 75
Spanning rows and columns 77
Avoiding the table-based layout trap 80
Chapter 5: Making Connections with Links . . . . . . . . . . . . . . . . . . . . . .83
Making Your Text Hyper 83
Introducing the anchor tag 84

Comparing block-level and inline elements 85
Analyzing an anchor 86
Introducing URLs 86
Making Lists of Links 88
Working with Absolute and Relative References 89
Understanding absolute references 89
Introducing relative references 89
02_9780470537558-ftoc.indd xii02_9780470537558-ftoc.indd xii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
xiii
Chapter 6: Adding Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Adding Images to Your Pages 93
Adding links to images 94
Adding inline images using the <img> tag 96
Choosing an Image Manipulation Tool 98
An image is worth 3.4 million words! 98
Introducing IrfanView 101
Choosing an Image Format 102
BMP 102
JPG/JPEG 102
GIF 103
PNG 105
Summary of Web image formats 106
Manipulating Your Images 106
Changing formats in IrfanView 106
Resizing your images 108
Enhancing image colors 109
Using built-in effects 110
Other effects you can use 115

Batch processing 115
Using Images as Links 117
Creating thumbnail images 118
Creating a thumbnail-based image directory 120
Chapter 7: Creating Forms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
You Have Great Form 121
Forms must have some form 123
Organizing a form with  eldsets and labels 123
Building Text-Style Inputs 126
Making a standard text  eld 126
Building a password  eld 127
Making multi-line text input 128
Creating Multiple Selection Elements 130
Making selections 130
Building check boxes 132
Creating radio buttons 134
Pressing Your Buttons 136
Making input-style buttons 137
Building a Submit button 138
It’s a do-over: The Reset button 138
Introducing the <button> tag 139
Chapter 8: The Future of HTML: HTML 5. . . . . . . . . . . . . . . . . . . . . . . . .141
Can’t We Just Stick with XHTML? 141
Using the HTML 5 doctype 142
Browser support for HTML 5 142
Validating HTML 5 142
02_9780470537558-ftoc.indd xiii02_9780470537558-ftoc.indd xiii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xiv

Semantic Elements 142
Using New Form Elements 144
Using Embedded Fonts 147
Audio and Video Tags 149
The Canvas Tag 152
Other Promising Features 155
Limitations of HTML 5 156
Book II: Styling with CSS 157
Chapter 1: Coloring Your World. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
Now You Have an Element of Style 159
Setting up a style sheet 161
Changing the colors 162
Specifying Colors in CSS 163
Using color names 163
Putting a hex on your colors 164
Coloring by number 165
Hex education 165
Using the Web-safe color palette 167
Choosing Your Colors 168
Starting with Web-safe colors 169
Modifying your colors 169
Doing it on your own pages 170
Changing CSS on the  y 170
Creating Your Own Color Scheme 172
Understanding hue, saturation, and value 172
Using the Color Scheme Designer 173
Selecting a base hue 174
Picking a color scheme 175
Chapter 2: Styling Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .177
Setting the Font Family 177

Applying the font-family style attribute 179
Using generic fonts 180
Making a list of fonts 181
The Curse of Web-Based Fonts 183
Understanding the problem 183
Examining possible solutions 184
Using images for headlines 185
Specifying the Font Size 188
Size is only a suggestion! 188
Using the font-size style attribute 188
Absolute measurement units 189
Relative measurement units 190
02_9780470537558-ftoc.indd xiv02_9780470537558-ftoc.indd xiv 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
xv
Determining Other Font Characteristics 191
Using font-style for italics 192
Using font-weight for bold 193
Using text-decoration 194
Using text-align for basic alignment 196
Other text attributes 197
Using the font shortcut 197
Working with subscripts and superscripts 199
Chapter 3: Selectors, Class, and Style . . . . . . . . . . . . . . . . . . . . . . . . . .201
Selecting Particular Segments 201
De ning more than one kind of paragraph 201
Styling identi ed paragraphs 203
Using Emphasis and Strong Emphasis 203
Adding emphasis to the page 204

Modifying the display of em and strong 204
De ning Classes 206
Adding classes to the page 207
Combining classes 208
Introducing div and span 210
Organizing the page by meaning 211
Why not make a table? 212
Using Pseudo-Classes to Style Links 213
Styling a standard link 213
Styling the link states 213
Best link practices 215
Selecting in Context 216
De ning Multiple Styles at Once 217
Chapter 4: Borders and Backgrounds. . . . . . . . . . . . . . . . . . . . . . . . . . .219
Joining the Border Patrol 219
Using the border attributes 219
De ning border styles 221
Using the border shortcut 222
Creating partial borders 222
Introducing the Box Model 224
Borders, margin, and padding 224
Positioning elements with margins and padding 226
Changing the Background Image 228
Getting a background check 230
Solutions to the background conundrum 230
Manipulating Background Images 234
Turning off the repeat 234
Making effective gradients with repeat-x and repeat-y 235
Using Images in Lists 237
02_9780470537558-ftoc.indd xv02_9780470537558-ftoc.indd xv 10/7/10 8:26 PM10/7/10 8:26 PM

www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xvi
Chapter 5: Levels of CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .239
Managing Levels of Style 239
Using local styles 239
Using an external style sheet 242
Understanding the Cascading Part of Cascading Style Sheets 246
Inheriting styles 247
Hierarchy of styles 248
Overriding styles 249
Precedence of style de nitions 250
Using Conditional Comments 251
Coping with incompatibility 251
Making Internet Explorer–speci c code 252
Using a conditional comment with CSS 253
Checking the Internet Explorer version 256
Book III: Using Positional CSS 257
Chapter 1: Fun with the Fabulous Float . . . . . . . . . . . . . . . . . . . . . . . . .259
Avoiding Old-School Layout Pitfalls 259
Problems with frames 259
Problems with tables 260
Problems with huge images 261
Problems with Flash 261
Introducing the Floating Layout Mechanism 262
Using  oat with images 263
Adding the  oat property 264
Using Float with Block-Level Elements 265
Floating a paragraph 265
Adjusting the width 267

Setting the next margin 268
Using Float to Style Forms 270
Using  oat to beautify the form 272
Adjusting the  eldset width 275
Using the clear attribute to control page layout 276
Chapter 2: Building Floating Page Layouts . . . . . . . . . . . . . . . . . . . . . .279
Creating a Basic Two-Column Design 279
Designing the page 279
Building the XHTML 281
Adding preliminary CSS 282
Using temporary borders 283
Setting up the  oating columns 285
Tuning up the borders 285
Advantages of a  uid layout 287
02_9780470537558-ftoc.indd xvi02_9780470537558-ftoc.indd xvi 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
xvii
Building a Three-Column Design 287
Styling the three-column page 289
Problems with the  oating layout 290
Specifying a min-height 291
Building a Fixed-Width Layout 293
Setting up the XHTML 293
Using an image to simulate true columns 294
Building a Centered Fixed-Width Layout 295
Making a surrogate body with an all div 296
How the jello layout works 298
Limitations of the jello layout 298
Chapter 3: Styling Lists and Menus. . . . . . . . . . . . . . . . . . . . . . . . . . . . .299

Revisiting List Styles 299
De ning navigation as a list of links 300
Turning links into buttons 300
Building horizontal lists 302
Creating Dynamic Lists 304
Building a nested list 304
Hiding the inner lists 306
Getting the inner lists to appear on cue 307
Building a Basic Menu System 310
Building a vertical menu with CSS 312
Building a horizontal menu 314
Chapter 4: Using Alternative Positioning. . . . . . . . . . . . . . . . . . . . . . . .317
Working with Absolute Positioning 317
Setting up the HTML 318
Adding position guidelines 318
Making absolute positioning work 319
Managing z-index 320
Handling depth 320
Working with z-index 322
Building a Page Layout with Absolute Positioning 322
Overview of absolute layout 322
Writing the XHTML 324
Adding the CSS 324
Creating a More Flexible Layout 326
Designing with percentages 326
Building the layout 328
Exploring Other Types of Positioning 329
Creating a  xed menu system 330
Setting up the XHTML 331
Setting the CSS values 332

Determining Your Layout Scheme 334
02_9780470537558-ftoc.indd xvii02_9780470537558-ftoc.indd xvii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xviii
Book IV: Client-Side Programming with JavaScript 335
Chapter 1: Getting Started with JavaScript. . . . . . . . . . . . . . . . . . . . . .337
Working in JavaScript 337
Choosing a JavaScript editor 338
Picking your test browser 339
Writing Your First JavaScript Program 340
Embedding your JavaScript code 341
Creating comments 342
Using the alert( ) method for output 342
Adding the semicolon 342
Introducing Variables 342
Creating a variable for data storage 344
Asking the user for information 344
Responding to the user 345
Using Concatenation to Build Better Greetings 345
Comparing literals and variables 347
Including spaces in your concatenated phrases 347
Understanding the String Object 347
Introducing object-based programming (and cows) 348
Investigating the length of a string 348
Using string methods to manipulate text 349
Understanding Variable Types 352
Adding numbers 352
Adding the user’s numbers 353
The trouble with dynamic data 354

The pesky plus sign 355
Changing Variables to the Desired Type 356
Using variable conversion tools 356
Fixing the addInput code 357
Chapter 2: Making Decisions with Conditions. . . . . . . . . . . . . . . . . . .359
Working with Random Numbers 359
Creating an integer within a range 359
Building a program that rolls dice 360
Using if to Control Flow 361
The basic if statement 362
All about conditions 363
Comparison operators 363
Using the else Clause 364
Using if-else for more complex interaction 365
Solving the mystery of the unnecessary else 367
Using switch for More Complex Branches 367
Creating an expression 368
Switching with style 369
02_9780470537558-ftoc.indd xviii02_9780470537558-ftoc.indd xviii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
xix
Nesting if Statements 370
Building the nested conditions 371
Making sense of nested ifs 372
Chapter 3: Loops and Debugging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373
Building Counting Loops with for 373
Building a standard for loop 374
Counting backward 375
Counting by 5 375

Looping for a while 377
Creating a basic while loop 377
Avoiding loop mistakes 378
Introducing Bad Loops 378
Managing the reluctant loop 379
Managing the obsessive loop 379
Debugging Your Code 380
Letting Aptana help 380
Debugging JavaScript on Internet Explorer 381
Finding errors in Firefox 383
Finding errors with Firebug 383
Catching Logic Errors 384
Logging to the console with Firebug 385
Looking at console output 386
Using the Interactive Debug Mode 387
Setting up the Firebug debugger 388
Setting a breakpoint 389
Adding a debugger directive 389
Examining debug mode 390
Debugging your code 392
Chapter 4: Functions, Arrays, and Objects. . . . . . . . . . . . . . . . . . . . . . .395
Breaking Code into Functions 395
Thinking about structure 396
Building the antsFunction.html program 397
Passing Data to and from Functions 398
Examining the main code 399
Looking at the chorus 400
Handling the verses 400
Managing Scope 402
Introducing local and global variables 402

Examining variable scope 402
Building a Basic Array 405
Accessing array data 405
Using arrays with for loops 406
Revisiting the ants song 407
02_9780470537558-ftoc.indd xix02_9780470537558-ftoc.indd xix 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xx
Working with Two-Dimension Arrays 409
Setting up the arrays 410
Getting a city 411
Creating a main( ) function 411
Creating Your Own Objects 413
Building a basic object 413
Adding methods to an object 414
Building a reusable object 415
Using your shiny new objects 417
Introducing JSON 417
Storing data in JSON format 418
Building a more complex JSON structure 419
Chapter 5: Talking to the Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .423
Understanding the Document Object Model 423
Navigating the DOM 423
Changing DOM properties with Firebug 425
Examining the document object 425
Harnessing the DOM through JavaScript 427
Getting the blues, JavaScript-style 427
Writing JavaScript code to change colors 428
Managing Button Events 428

Embedding quotes within quotes 431
Writing the changeColor function 431
Managing Text Input and Output 432
Introducing event-driven programming 432
Creating the XHTML form 433
Using GetElementById to get access to the page 434
Manipulating the text  elds 435
Writing to the Document 436
Preparing the HTML framework 436
Writing the JavaScript 437
Finding your innerHTML 438
Working with Other Text Elements 438
Building the form 440
Writing the function 441
Understanding generated source 442
Chapter 6: Getting Valid Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .445
Getting Input from a Drop-Down List 445
Building the form 446
Reading the list box 447
Managing Multiple Selections 448
Coding a multiple selection select object 449
Writing the JavaScript code 450
02_9780470537558-ftoc.indd xx02_9780470537558-ftoc.indd xx 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
Table of Contents
xxi
Check, Please: Reading Check Boxes 452
Building the check box page 452
Responding to the check boxes 453
Working with Radio Buttons 454

Interpreting radio buttons 456
Working with Regular Expressions 457
Introducing regular expressions 460
Using characters in regular expressions 462
Marking the beginning and end of the line 463
Working with special characters 463
Conducting repetition operations 464
Working with pattern memory 465
Chapter 7: Animating Your Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
Making Things Move 467
Looking over the HTML 468
Getting an overview of the JavaScript 470
Creating global variables 471
Initializing 472
Moving the sprite 472
Checking the boundaries 474
Reading Input from the Keyboard 475
Building the keyboard page 476
Overwriting the init( ) function 477
Setting up an event handler 478
Responding to keystrokes 479
Deciphering the mystery of key codes 480
Following the Mouse 481
Looking over the HTML 481
Initializing the code 482
Building the mouse listener 483
Creating Automatic Motion 483
Creating a setInterval( ) call 485
Building Image-Swapping Animation 486
Preparing the images 487

Building the page 487
Building the global variables 488
Setting up the interval 489
Animating the sprite 489
Preloading Your Images 490
Movement and swapping 492
Building the code 494
De ning global variables 495
Initializing your data 496
Preloading the images 496
Animating and updating the image 497
Moving the sprite 497
02_9780470537558-ftoc.indd xxi02_9780470537558-ftoc.indd xxi 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info
HTML, XHTML, & CSS All-in-One For Dummies, 2nd Edition
xxii
Book V: Server-Side Programming with PHP 499
Chapter 1: Getting Started on the Server . . . . . . . . . . . . . . . . . . . . . . . .501
Introducing Server-Side Programming 501
Programming on the server 501
Serving your programs 502
Picking a language 503
Installing Your Web Server 504
Inspecting phpinfo( ) 505
Building XHTML with PHP 508
Coding with Quotation Marks 510
Working with Variables PHP-Style 511
Concatenation 512
Interpolating variables into text 513
Building XHTML Output 514

Using double quote interpolation 515
Generating output with heredocs 515
Switching from PHP to XHTML 517
Chapter 2: PHP and XHTML Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . .519
Exploring the Relationship between PHP and XHTML 519
Embedding PHP inside XHTML 520
Viewing the results 521
Sending Data to a PHP Program 522
Creating a form for PHP processing 523
Receiving data in PHP 525
Choosing the Method of Your Madness 527
Using get to send data 527
Using the post method to transmit form data 529
Getting data from the form 530
Retrieving Data from Other Form Elements 532
Building a form with complex elements 532
Responding to a complex form 535
Chapter 3: Control Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .539
Introducing Conditions (Again) 539
Building the Classic if Statement 540
Rolling dice the PHP way 541
Checking your six 541
Understanding comparison operators 545
Taking the middle road 545
Building a program that makes its own form 547
Making a switch 549
Looping with for 552
Looping with while 555
02_9780470537558-ftoc.indd xxii02_9780470537558-ftoc.indd xxii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info

Table of Contents
xxiii
Chapter 4: Working with Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .559
Using One-Dimensional Arrays 559
Creating an array 559
Filling an array 560
Viewing the elements of an array 560
Preloading an array 562
Using Loops with Arrays 562
Simplifying loops with foreach 564
Arrays and HTML 565
Introducing Associative Arrays 567
Using foreach with associative arrays 568
Introducing Multidimensional Arrays 570
We’re going on a trip 570
Looking up the distance 572
Breaking a String into an Array 574
Creating arrays with explode 574
Creating arrays with preg_split 576
Chapter 5: Using Functions and Session Variables. . . . . . . . . . . . . . .579
Creating Your Own Functions 579
Rolling dice the old-fashioned way 579
Improving code with functions 582
Managing variable scope 583
Returning data from functions 585
Managing Persistence with Session Variables 586
Understanding session variables 587
Adding session variables to your code 589
Chapter 6: Working with Files and Directories . . . . . . . . . . . . . . . . . .591
Text File Manipulation 591

Writing text to  les 592
Writing a basic text  le 594
Reading from the  le 599
Using Delimited Data 601
Storing data in a CSV  le 601
Viewing CSV data directly 603
Reading the CSV data in PHP 604
Working with File and Directory Functions 608
opendir( ) 608
readdir( ) 608
chdir( ) 609
Generating the list of  le links 609
Chapter 7: Connecting to a MySQL Database . . . . . . . . . . . . . . . . . . . .613
Retrieving Data from a Database 613
Understanding data connections 616
Building a connection 617
02_9780470537558-ftoc.indd xxiii02_9780470537558-ftoc.indd xxiii 10/7/10 8:26 PM10/7/10 8:26 PM
www.it-ebooks.info

×