My Cart (0)

Customer Service 1-800-221-5528

Murach's HTML5 and CSS3 (3rd Edition)

by Zak Ruvalcaba and Anne Boehm
19 chapters, 682 pages, 289 figures
Published April 2015
ISBN 978-1-890774-83-7
Print: $54.50
eBook: $49.50
Print + eBook: $67.00

This 3rd edition of our unique HTML5 and CSS3 book adds professional coverage of Responsive Web Design – a must for web developers – at the same time that it updates and improves all the content in the previous edition. So whether you're a web designer, a JavaScript programmer, a server-side programmer, or a rookie, this book delivers the HTML and CSS skills that you need today. 

College Instructors

Go to our instructor's site to learn more about this book and its instructor's materials.

Until now, my websites looked great but have been coded with what seems like 'duct-tape and bubble-gum' methods, just for appearances and not for professionalism nor compliance. This book taught me all [that is] possible with simple HTML5 and CSS3 coding... What a game changer!”

  • About this Book
  • Table of Contents
  • FREE Downloads
  • Book FAQs
  • Corrections
  • Reviews

What this book does

Section 1: A crash course in HTML5 and CSS3

This book starts with an 8-chapter course that teaches you how to use HTML5 and CSS3 to build websites. This course works for beginners as well as experienced web designers, and the last chapter teaches you how to use Responsive Web Design so your pages will look good and work right on any screen, from phone to tablet to desktop.
When you complete this course, you will be able to develop web pages at a professional level. Then, you can go on to any other section or chapter in this book to learn new skills whenever you need them.

Section 2: Refine your web pages with the features that users expect in websites today

This section presents all of the other HTML5 and CSS3 skills that you may need. That includes:

  • More on working with images, including thumbnails, rollovers, and image maps
  • When and how to use tables
  • How to work with forms and the HTML5 validation features
  • How to add audio and video to your pages (HTML5 lets you use the players that are built into all modern browsers)
  • How to use embedded fonts so you can be sure all browsers that access your website will have them
  • How to format your web pages for printing
  • How to use the CSS3 features for transitions, animation, transforms, and filters

Section 3: Use JavaScript and jQuery for special features

This section shows you how to add JavaScript and jQuery features to your web pages...without knowing how to code JavaScript and jQuery. Specifically, you’ll learn how to use

  • JavaScript and jQuery to enhance your web pages with features like image rollovers and image swaps
  • jQuery UI and jQuery plugins to enhance your web pages with features like accordions, tabs, carousels, and slide shows
  • jQuery Mobile to develop a separate website for mobile devices when it’s impractical to add Responsive Web Design to an established site

After you finish this section, you’ll probably want to learn how to write your own JavaScript and jQuery routines so you can customize the features of your website. But when you’re ready for that, you can get our JavaScript and jQuery book.

Section 4: Design and deployment

Once you have a good grasp of how to develop web pages, you can understand today’s best practices for designing a site, as shown in chapter 18. Then, chapter 19 shows you not only how test and deploy your website, but also how to get the site indexed on the major search engines and directories.

Who this book is for

This book is for anyone who wants to develop web pages at a thoroughly professional level. That includes:

  • budding web developers
  • web developers who haven’t yet upgraded their websites to HTML5 and CSS3
  • web developers who need to expand and enhance their skillsets

As we see it, mastering HTML5 and CSS3 will make any web developer at any level more effective.

What's new in this book

Most important is a new chapter on Responsive Web Design that presents all of the skills that you need for building responsive websites that will work on all screens, from phones to tablets to computers. This is the last chapter in section 1, and you’re likely to learn more from this one chapter than you can from complete books on the Responsive Web Design.

Of less importance is a new chapter on CSS3 transitions, transforms, animation, and filters, although these features do let you add eye-catching features to a website without using JavaScript or jQuery.

Beyond that, though, every chapter in the book has been improved, enhanced, and upgraded. That’s why this book works better than ever in every way.

What software you need

To develop web pages, you need:

  • a text editor 
  • two or more web browsers (Internet Explorer for Windows, Safari for Macs, Google’s Chrome, Mozilla Firefox, or Opera)

Although you can use any text editor with this book, a text editor that includes syntax coloring, auto-completion, and error-marking will help you code more quickly and with fewer errors. In the book, we recommend Aptana Studio 3; however, it’s no longer supported and has become hard to install.

So now, we recommend Brackets. It’s available for free, it can be used for entering HTML and CSS code (as well as JavaScript code), and it runs on Windows, Mac OS, and Linux systems. To help you install and get started with it, we’ve created a Brackets tutorial that you can download here or from the FREE Downloads tab.

The perfect companion books

If you combine our HTML5 and CSS3 book with its companion books, you’ll have the answers to all of your client-side development questions.

Murach’s JavaScript (2nd Edition)

Section 3 of our HTML5 and CSS3 book shows you how to use JavaScript and jQuery to add features like image rollovers and slide shows to your web pages. But if you want to write your own JavaScript and jQuery routines, you should start with Murach’s JavaScript. This book takes you from beginner to expert as it presents all the JavaScript skills that you need for building client-side applications, including the JavaScript skills you need for using jQuery.

Murach’s jQuery (2nd Edition)

Since every web developer should master both JavaScript and jQuery, Murach’s jQuery is the perfect companion to our JavaScript book. With our HTML5, JavaScript, and jQuery books on your desk, you’ll be able to develop client-side applications the way the best professionals develop them. And you’ll have the best on-the-job references that money can buy.

Murach’s Dreamweaver CC 2014

Dreamweaver is the most widely-used IDE for professional web developers. It has a powerful user interface that you can use to add HTML to a page and provide the CSS that formats it. It’s also a great editor for JavaScript and jQuery. So, to learn how to use Dreamweaver, please consider Murach’s Dreamweaver CC 2014. Although Dreamweaver CC 2014 has been slightly enhanced in the 2015 release, using our 2014 book is still a great way to get started with Dreamweaver.

What people say about this book

“A one-stop solution to solve all your learning requirements for developing the front end of your applications.”
 - Mohammed Sanaulla, JavaRanch.com

“In 20-plus years of reading and writing software manuals, I've never seen anyone take as much care to teach one thing at a time as Boehm and Ruvalcaba do in Murach's HTML5 and CSS3 (3rd Edition). Their consistent pattern is a two-page spread: textbook prose on the left; code and annotation on the right. If a topic's too big to fit in two pages, they make it two topics.
    “The result is predictable and immediate clarity that makes it easy to find what you're looking for, ignore what you don't want at the moment, and then find it again later when you need to recall the exact values for a given attribute, or how to punctuate a CSS selector for a child element.”
 - Phil Norcross, Writer/Editor/Webmaster/Server Administrator

“I found the book enjoyable to read, and it provided a good review of my current skillset, in addition to providing a number of challenging exercises that helped me to learn some new skills. I plan to make it part of my personal technical library.”
 - Pat Byrne, Lower Alabama .NET User Group

“I am experienced in HTML and CSS, but as you know, these topics are moving targets that do not stay still for very long. So having a good reference book is essential for anybody in this field, and I must say this book fills this gap very well. It is well-written, the examples work well, and it is very up-to-date with the latest features of CSS and HTML.”
 - Gerry Gates, blogging at Gerry's World (gvgates.blogspot.com.au)

A Wonderful Updated Edition!There’s been a major paradigm shift in website design over the past two years or so, and it’s important for web developers to learn, understand, and implement responsive design. The introduction to Responsive Design [in this book] is very thorough and easy to understand.”
 - Michael Redlich, Java SIG Leader, Amateur Computer Group of New Jersey

“The nicest part about this book is that every page of instruction is accompanied by an illustration on the opposite page that demonstrates the knowledge presented. This style is extremely user-friendly, as it allows readers to check their progress after every step.”
 - James Lin, So Cal .NET Developers Group

“If you buy the book, skip to chapter 18 early on, since its design guidelines are spot on and will help ensure your pages are not just syntactically correct, but are optimized for your readers and search engines.”
 - Steve Smith, ASP.NET MVP

“Having worked with Murach’s textbooks for a number of years, I found this new edition of Murach’s HTML5 and CSS3 to be a significant improvement over the previous edition. I was impressed by the previous edition, but this new edition is an order of magnitude better.”
 - Eric Nothiesen, Enterprise Developers Guild

View the table of contents for this book in a PDF: Table of Contents (PDF)

Click on any chapter title to display or hide its content.

Section 1 A crash course in HTML and CSS

Chapter 1 Introduction to web development

How web applications work

The components of a web application

How static web pages are processed

How dynamic web pages are processed

A survey of web browsers and server-side scripting languages

How client-side JavaScript fits into web development

An introduction to HTML and CSS

The HTML for a web page

The CSS for a web page

A short history of the HTML and CSS standards

Tools for web development

Text editors for HTML and CSS

IDEs for web development

FTP programs for uploading files to the web server

How to view deployed web pages

How to view a web page

How to view the source code for a web page

Five critical web development issues

Users and usability

Cross-browser compatibility

User accessibility

Search engine optimization

Responsive Web Design

Chapter 2 How to code, test, and validate a web page

The HTML syntax

The basic structure of an HTML document

How to code elements and tags

How to code attributes

How to code comments and whitespace

The CSS syntax

How to code CSS rule sets and comments

How to code basic selectors

How to use Aptana to work with HTML and CSS files

How to create a project

How to open an HTML file

How to start a new HTML file

How to edit an HTML file

How to open or start a CSS file

How to edit a CSS file

How to preview and run an HTML file

How to test, debug, and validate HTML and CSS files

How to test and debug a web page

How to validate an HTML file

How to validate a CSS file

Chapter 3 How to use HTML to structure a web page

How to code the head section

How to code the title element

How to link to a favicon

How to include metadata

How to code text elements

How to code headings and paragraphs

How to code special blocks of text

How to code inline elements for formatting and identifying text

How to code character entities

How to code the core attributes

How to structure the content of a page

How to use the primary HTML5 semantic elements

How to use some of the other HTML5 semantic elements

When and how to code div and span elements

How to code links, lists, and images

How to code absolute and relative URLs

How to code links

How to code lists

How to include images

A structured web page

The page layout

The HTML file

Chapter 4 How to use CSS to format the elements of a web page

An introduction to CSS

Three ways to provide CSS styles for a web page

Two ways to provide for browser compatibility

How to specify measurements and colors

How to specify measurements

How to specify colors

How to use the CSS3 color specifications

How to code selectors

How to code selectors for all elements, element types, ids, and classes

How to code relational selectors

How to code combinations of selectors

How to code attribute selectors

How to code pseudo-class and pseudo-element selectors

How to work with Cascading Style Sheets

How the cascade rules work

How to use the developer tools to inspect the styles that have been applied

How to work with text

How to set the font family and font size

How to set the other properties for styling fonts

How to set properties for formatting text

How to use CSS3 to add shadows to text

How to float an image so text flows around it

A web page that uses external style sheets

The page layout

The HTML file

The CSS file

Chapter 5 How to use the CSS box model for spacing, borders, and backgrounds

An introduction to the box model

How the box model works

A web page that illustrates the box model

How to size and space elements

How to set heights and widths

How to set margins

How to set padding

A web page that illustrates sizing and spacing

The HTML for the web page

The CSS for the web page

A version of the CSS that uses a reset selector

How to set borders and backgrounds

How to set borders

How to use CSS3 to add rounded corners and shadows to borders

How to set background colors and images

How to use CSS3 to set background gradients

A web page that uses borders and backgrounds

The HTML for the web page

The CSS for the web page

Chapter 6 How to use CSS for page layout

How to float elements in 2- and 3-column layouts

How to float and clear elements

How to use floating in a 2-column, fixed-width layout

How to use floating in a 2-column, fluid layout

How to use floating in a 3-column, fixed-width layout

Two web pages that use a 2-column, fixed-width layout

The home page

The HTML for the home page

The CSS for the home page

The speaker page

The HTML for the speaker page

The CSS for the speaker page

How to use CSS3 to create text columns

The CSS3 properties for creating text columns

A 2-column web page with a 2-column article

How to position elements

Four ways to position an element

How to use absolute positioning

How to use fixed positioning

A table of contents that uses positioning

Chapter 7 How to work with lists and links

How to code lists

How to code unordered lists

How to code ordered lists

How to code nested lists

How to code description lists

How to format lists

How to change the bullets for an unordered list

How to change the numbering system for an ordered list

How to change the alignment of list items

How to code links

How to link to another page

How to format links

How to use a link to open a new browser window or tab

How to create and link to placeholders

How to link to a media file

How to create email, phone, and Skype links

How to create navigation menus

How to create a vertical navigation menu

How to create a horizontal navigation menu

How to create a 2-tier navigation menu

How to create a 3-tier navigation menu

The CSS for a 3-tier navigation menu

Chapter 8 How to use Responsive Web Design

Introduction to Responsive Web Design

The three components of a responsive design

How to test a responsive design

How to implement a fluid design

Fluid layouts vs. fixed layouts

How to convert fixed widths to fluid widths

How to size fonts

How to scale images

A web page with a fluid design

How to use CSS3 media queries

How to control the mobile viewport

How to code media queries

Common media queries for a responsive design

How to build responsive menus with the SlickNav plugin

A web page that uses Responsive Web Design

The design of the web page

The HTML for the web page

The CSS for the web page

Section 2 More HTML and CSS skills as you need them

Chapter 9 How to work with images

Basic skills for working with images

Types of images for the Web

How to include an image on a page

How to resize an image

How to align an image vertically

How to float an image

Advanced skills for working with images

How to use the HTML5 figure and figcaption elements

How to work with thumbnails

How to do image rollovers

How to create image maps

Related skills for working with images

When to use an image editor

How to get images and icons

How to create favicons

Chapter 10 How to work with tables

Basic HTML skills for coding tables

An introduction to tables

How to create a table

How to add a header and footer

Basic CSS skills for formatting tables

How to use CSS properties to format a table

How to use the CSS3 structural pseudo-classes for formatting tables

Other skills for working with tables

How to use the HTML5 figure and figcaption elements with tables

How to merge cells in a column or row

How to provide for accessibility

How to nest tables

How to control wrapping

Chapter 11 How to work with forms

How to use forms and controls

How to create a form

How to use buttons

How to use text fields

How to use radio buttons and check boxes

How to use drop-down lists

How to use list boxes

How to use text areas

How to use labels

How to group controls with fieldset and legend elements

How to use a file upload control

Other skills for working with forms

How to align controls

How to format controls

How to set the tab order and assign access keys

How to use the HTML5 features for data validation

The HTML5 attributes and CSS3 selectors for data validation

How to use regular expressions for data validation

How to use a datalist to present entry options

How to use the HTML5 controls

How to use the email, url, and tel controls

How to use the number and range controls

How to use the date and time controls

How to use the search control for a search function

How to use the color control

How to use the output element to display output data

How to use the progress and meter elements to display output data

A web page that uses HTML5 data validation

The page layout

The HTML

The CSS

Chapter 12 How to add audio and video to your website

An introduction to media on the web

Common media types for video and audio

Video codecs

Audio codecs

Audio and video support in current browsers

How to encode media

How to add audio and video to a web page

How to use the object and param elements

How to use the embed element

How to use the HTML5 video and audio elements

How to fall back to Flash for backward compatibility

A web page that offers both audio and video

The page layout

The HTML

Chapter 13 How to work with fonts and printing

How to embed fonts in a web page

How to use the CSS3 @font-face selector to embed fonts

How to use Google Web Fonts

How to use Adobe Edge Web Fonts

The skills for formatting printed web pages

How to define the style sheets and rule sets for printed pages

Recommendations for print formatting

CSS properties for printed pages

A two-column web page with print formatting

The web page

The links to the style sheets

The printed page

The CSS for the print style sheet

Chapter 14 How to use CSS3 transitions, transforms, animations, and filters

How to use CSS3 transitions

How to code transitions

How to create an accordion using transitions

How to use CSS3 transforms

How to code 2D transforms

A gallery of images with 2D transforms

How to use CSS3 animations

How to code simple animations

How to set the keyframes for a slide show

How to use CSS3 filters

How to code filters

The ten filter methods applied to the same image

Section 3 JavaScript and jQuery for the non-programmer

Chapter 15 How to use JavaScript and jQuery to enhance your web pages

Introduction to JavaScript

How JavaScript works

Three ways to include JavaScript in a web page

How DOM scripting works

Methods and properties for DOM scripting

How JavaScript handles events

The Email List application in JavaScript

The HTML

The JavaScript

Introduction to jQuery

How to include jQuery in your web pages

How to code jQuery selectors, methods, and event methods

The Email List application in jQuery

The HTML

The jQuery

How to use jQuery as a non-progammer

The Image Rollover application

The Image Swap application

A Slide Show application

Websites for JavaScript and jQuery code

Chapter 16 How to use jQuery UI and jQuery plugins to enhance your web pages

Introduction to jQuery UI

What jQuery UI is and where to get it

How to download jQuery UI

How to include jQuery UI in your web pages

How to use any jQuery UI widget

How to use four of the most popular jQuery UI widgets

How to use the Accordion widget

How to use the Tabs widget

How to use the Button and Dialog widgets

Introduction to jQuery plugins

How to find jQuery plugins

How to use any jQuery plugin

How to use three of the most popular plugins

How to use the Lightbox plugin for images

How to use the bxSlider plugin for carousels

How to use the Cycle 2 plugin for slide shows

Chapter 17 How to use jQuery Mobile to build mobile websites

How to work with mobile devices

How to provide pages for mobile devices

How to use a JavaScript plugin to redirect mobile browsers to a mobile website

How to set the viewport properties

Guidelines for designing mobile web pages

Guidelines for testing mobile web pages

How to get started with jQuery Mobile

What jQuery Mobile is and where to get it

How to include jQuery Mobile in your web pages

How to create one web page with jQuery Mobile

How to code multiple pages in a single HTML file

How to navigate between pages

How to use dialogs and transitions

How to create buttons

How to create a navigation bar

How to format content with jQuery Mobile

The default styles that jQuery Mobile uses

How to apply themes to HTML elements

How to use jQuery Mobile for page layout

How to create collapsible content blocks

How to create an accordion

How to create a list

A mobile website that uses jQuery Mobile

The layout for the mobile website

The HTML for the mobile website

Section 4 How to design and deploy a website

Chapter 18 How to design a website

Users and usability

What web users want is usability

The current conventions for usability

Design guidelines

Think mobile from the start

Use the home page to sell the site

Let the users know where they are

Make the best use of web page space

Divide long pages into shorter chunks

Know the principles of graphics design

Write for the web

How to design a website

The lifecycle of a website

Step 1: Define the audience and set the goals

Step 2: Develop the site map

Step 3: Wireframe the critical pages

Step 4: Illustrate the critical pages

Other design considerations

Development teams

Top-down design and prototyping

Chapter 19 How to deploy a website on a web server

How to get a web host and domain name

How to find a web host

How to get a domain name

How to transfer files to and from the web

How to install FileZilla Client

How to connect to a website on a remote web server

How to upload and download files

Four more skills for deploying a website

How to test a website that has been uploaded to the web server

How to get your website into search engines and directories

How to control which pages are indexed and visited

How to maintain a healthy website

Sample chapters

Chapter 5: How to use the CSS box model for spacing, borders, and backgrounds

To give you an idea of how well this book works, you can download this chapter. It shows you how to use the CSS box model to control the spacing above, below, and on the sides of elements like headings, text, and images.

This chapter also shows you how to use CSS to add borders or backgrounds to elements. That includes the CSS3 features that let you round the corners of borders, add shadows to borders, and provide gradients as backgrounds…without using the images that were required before CSS3.

Chapter 5 PDF (1,148Kb) Download Now

Book applications and exercises

This download includes:

  • The HTML and CSS code for all of the applications that are presented in the book
  • The starting source code for the exercises in the book
  • The solutions for the exercises in the book

Appendix A in the book shows how to install and use these files on Windows and Mac systems.

Exe file for Windows (45.6Mb) Download Now

Zip file for any system (45.6Mb) Download Now

Tutorial: How to use install and use Brackets

Murach’s HTML5 and CSS3 (3rd Edition) shows how to use Aptana as the text editor for developing HTML and CSS code. Unfortunately, Aptana is no longer supported and has become difficult to install.

So our recommendation is to use Brackets instead. Developed by Adobe, Brackets is easy to install and use, has some excellent features, and runs on Windows, Mac OS, and Linux systems. So this tutorial shows you how to install and use it.

Brackets Tutorial PDF (1.4MB) Download Now

To view the "Frequently Asked Questions" for this book in a PDF, just click on this link: View the questions

Then, if you have any questions that aren't answered here, please email us. Thanks!

To view the corrections for this book in a PDF, just click on this link: View the corrections

Then, if you find any other errors, please email us so we can correct them in the next printing of the book. Thank you!

Vann Sunheng

Monday, 06 February 2017

interesting book

Jay Campbell

Tuesday, 20 September 2016

Great book that fills in the gaps where other books leave holes. Section 1 (Chapters 1 through 8) set up a great HTML 5 foundation for web design. I gave four stars instead of five because the new edition still devotes almost a whole chapter on Aptana Studio, the recommended IDE for the book, though Aptana Studio is no www.brackets.io or Jetbrains Webstorm.

To leave a review, please log in to your account.     Log In Here

Our Ironclad Guarantee

You must be satisfied. Try our print books for 30 days or our eBooks for 14 days. If they aren't the best you've ever used, you can return the books or cancel the eBooks for a prompt refund. No questions asked!

Contact Murach Books

For orders and customer service:

1-800-221-5528

Weekdays, 8 to 4 Pacific Time

College Instructors

If you're a college instructor who would like to consider a book for a course, please visit our website for instructors to learn how to get a complimentary review copy and the full set of instructional materials.