This 5th edition of our best-selling HTML and CSS book integrates the essential job skills with our proven instructional methods. And now, since HTML and CSS have finally stabilized, we were able to simplify, improve, and enhance the previous edition so your students can learn faster and better than ever. In fact, this edition is 100 pages shorter than the previous edition, even though we haven’t dropped any of the critical skills. Besides that, this new edition is in full color, which makes the book even easier to read and understand.
To supplement this book, we offer a Lab Manual that provides all of the student activities you’ll assign during the course. The Lab Manual is available in a print edition (January), in an electronic edition, and in an eManual+eText bundle.
The Canvas course file contains all the objectives, quizzes, exercises, case studies, and PowerPoint slides that you need to run an effective course. It only takes a few clicks to import it into the Canvas LMS. Then, you can customize it for your course. Learn more.
I really like your HTML book. I now use it for two of my classes. I think the way the book is laid out is beneficial to the student, with information on the left side and content examples on the right.”
To present the essential HTML and CSS skills in a manageable progression and at the right pace, this book is divided into 4 sections.
In the 8 chapters of this section, your students will learn how to use HTML to mark up the content of web pages and CSS to present that content. In fact, by the end of section 1, your students will be able to develop web pages the way today’s best professionals do.
That means they’ll be using HTML semantic elements to mark up the structure of a page. They’ll be using float and the CSS box model right from the beginning. And they’ll be using a professional subset of HTML and CSS that consists of the most-used HTML elements, CSS selectors, and CSS properties.
The last chapter in this section shows your students how to use Responsive Web Design so their pages will work on all screens, from mobile devices to desktop computers. This, of course, is essential today.
From this point on, the sections and chapters are written as independent modules, so you can assign them in whatever sequence you prefer.
The two chapters in this section show how to use Flexible Box and Grid Layout. These CSS modules let you build responsive page layouts without using floating. And knowing how to use both of them is part of any web development job today.
Section 3 expands on section 1 by presenting additional HTML and CSS skills that professional developers use all the time. That includes:
Section 4 consists of three chapters that help you expand your students’ knowledge beyond HTML and CSS:
Because of the modular structure of this book, you can assign these chapters any time after section 1.
Most important is a focus on what a web developer needs to know today. As a result, we’ve cut obsolete material, rearranged some topics, and streamlined the book so it’s more manageable for students.
We’ve also printed the book in full color. This is something that instructors have been requesting for the last 10 years, and we agree, it makes many of the skills far easier to grasp right away. We think you’ll find it’s a big help to your students.
Although your students can use any IDE or text editor with our book, the book now shows how to use Visual Studio Code (VS Code). That’s the text editor that has become so popular for all types of program development. And chapter 2 provides a tutorial that shows your students how to use it for HTML and CSS.
Beyond that, every chapter in the book has been improved, enhanced, and upgraded. In short, you’ll find that this book works even better than the previous edition.
Like all of our books, this one has our standard content features, like paired pages, logical organization, real-world examples, modular design, exercises that solidify your students’ skills, and much more. Here, though, are the content features that are specific to this book, to help you teach HTML more effectively.
In a modern website, HTML is used to define the structure and content for the site, and CSS is used to format the content. In other words, they always work together, and that’s the way our book teaches them...from the first chapter to the last.
In contrast, some books start by first presenting a complete subset of HTML and then presenting a subset of CSS. But that means that the students don’t see the relationships between HTML and CSS until later in the book. Worse, some books have a section on HTML and a separate section on CSS. That may work okay for reference, but it doesn’t work didactically.
Many HTML and CSS books present web design before the students understand how a website is implemented with HTML and CSS. We think that’s a mistake.
As a result, our book first shows how to build pages with HTML and CSS. Then, after the students understand how websites are implemented, they are ready to learn the principles of web design, which can be taught any time after section 1.
Chapter 8 in this book shows how to build responsive web pages with fluid layout, scalable images, and media queries. It also shows how to use a jQuery plugin called SlickNav to convert the menus for a page to a form that works on mobile devices. Then, chapters 9 and 10 present the two CSS modules for page layout and RWD. As a result, your students learn all the skills that they need for building responsive websites at a professional level.
User accessibility and search engine optimization are presented in chapter 1. After that, guidelines for accessibility and SEO are presented whenever they are relevant. For instance, when the <a> element is presented, the related accessibility and SEO guidelines are presented too.
Like other books, our book has dozens of examples that show how HTML and CSS are used in a variety of contexts. Beyond that, though, our book presents a real-world application that is progressively enhanced from one chapter to the next. In fact, this application is a simplified version of a site that we developed for a local nonprofit that brings six speakers each year to its Town Hall meetings.
This book is currently used by colleges and universities around the world for a variety of course titles. In general, though, these course titles fall into two categories:
If you teach an HTML and CSS course, regardless of whether it’s a one- or two-term course, this book is for you.
It presents all of the HTML and CSS skills at a professional level. It emphasizes Responsive Web Design. It shows how to design and deploy websites and presents some perspective on JavaScript and jQuery. After the first section, it lets you put together any chapters you want in any sequence you want, to fit the course structure.
And even if you aren’t able to cover all of the content, your students will have the book to answer questions and learn new features on their own (yes, many students actually keep our books!).
Because of its modular design, this book also works for an introductory course that puts more emphasis on web design and less on HTML and CSS. In that case, you can teach section 1, select the remaining chapters that you want to include, and skip the other chapters. Then, your students can use the rest of the book in an advanced course or as a reference for their own work.
Although your students can use a text editor as simple as Notepad to code HTML and CSS, we think that a text editor that includes syntax coloring, auto-completion, and error-marking will help your students build web pages more quickly and with fewer errors. That in turn means that they will learn faster.
That’s why our book recommends Visual Studio Code as the text editor. This editor was developed by Microsoft; it’s available for free; it can be used for entering HTML and CSS (and JavaScript, too, as well as languages like Python); and it runs on Windows, macOS, and Linux systems.
To make it easy for your students to get going with this editor, the appendix in our book shows how to download and install the software, and chapter 2 gives a tutorial on using it.
Of course, your students can use whichever editor or IDE you want with this book. If you don’t have a favorite, though, VS Code has some excellent features.
To run and test web applications, your students should use at least two browsers. Since Edge is always available with Windows and Safari with macOS, your students already have one browser.
Then, for the second browser, your students should install Chrome because it’s the most popular browser and because this book shows how to use its developer tools. That’s why the appendix in this book shows how to download and install Chrome.
If you teach a JavaScript course after your HTML and CSS course, we have two JavaScript books for you to consider. Both are ideal for students without previous programming experience who need detailed explanations, but they also work well for students who already know another language and are ready to move more quickly. Either way, when your students are done with your course, they’ll have the JavaScript skills that are in such demand today.
This book helps your students learn JavaScript more easily than ever by presenting the best practices of modern JavaScript. If you don’t need to teach jQuery, we recommend using this book.
This book integrates the teaching of JavaScript and jQuery, an influential JavaScript library that has been around since 2006 and is still used extensively in millions of websites. If your course includes coverage of jQuery, this book is an excellent choice.
“The HTML/CSS book was an instant hit. I asked a student to evaluate it for me, and now I cannot get it back!”
- James Gonzalez, Multimedia Studies Instructor, College of Marin
“Needed to learn how to make web pages. Took a class and this was the required textbook. Finished with the class, but I still use this book as reference material. There is so much here and it has helped me a great deal.”
- Posted at an online bookseller
“My students have really enjoyed the HTML book. Murach books are uniquely geared towards two-year colleges; we need books that cut to the chase and hit the ground running. Thanks for providing affordable and quality books.”
- René Bylander, Instructor, IT Web & Software Developer Program, Wisconsin
“Great Book, Relevant & Educational! A+: Used this book for my first semester in Web Design, and it was my go-to for any question I had in my class. This is a great supplement to any other course material, with hands-on labs and solutions to modern coding situations. Would Highly Recommend!”
- Posted at an online bookseller
“Murach's HTML and CSS is the only worthwhile book I have seen in this category.”
- Andrew McConnell, Emeritus Professor
“Rented for an Introductory web design class for a minor, planning on purchasing to keep for reference.”
- Posted at an online bookseller
“I think others should know the value of your HTML book. It has made a great impact on my teaching and my students’ learning.”
- Posted at an online bookseller
“Murach's HTML and CSS is still getting rave reviews from my students.”
- Al Cutting, Professor, Rhode Island
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.
The components of a web application
How static web pages are processed
How dynamic web pages are processed
How JavaScript fits into web development
The HTML for a web page
The CSS for a web page
A short history of the HTML and CSS standards
Text editors and IDEs
FTP clients
How to view a web page
How to view the source code for a web page
Responsive Web Design
Cross-browser compatibility
Web accessibility
Search engine optimization
The basic structure of an HTML document
How to code elements and tags
How to code attributes
How to code comments and whitespace
How to code CSS style rules and comments
How to code basic selectors
How to work with folders
How to work with files
How to edit an HTML file
How to use the HTMLHint extension to find HTML errors
How to edit a CSS file
How to use the Live Server extension to open an HTML file in a browser
How to test a web page
How to debug a web page
How to validate an HTML file
How to validate a CSS file
How to include metadata
How to code the title element and link to a favicon
How to code the lang attribute
How to code headings and paragraphs
How to code the structural elements
When and how to use div elements
How to code the inline elements for text
How to use character entities and three block elements for text
How to code URLs
How to code links
How to code lists
How to include images
The page layout
The HTML file
How to provide CSS styles for a web page
How to use the basic selectors to apply CSS to HTML elements
When and how to use the normalize style sheet for browser compatibility
How to specify measurements
How to specify colors
How to use advanced techniques to specify colors
How to set the font family and font size
How to set the properties for styling and formatting fonts
How to add shadows to text
How to float an image so text flows around it
How to code relational, combination, and attribute selectors
How to code pseudo-class and pseudo-element selectors
How the cascade rules work
The page layout
The HTML file
The CSS file
How to use Developer Tools to inspect the styles that have been applied
How to create and use custom properties
How the box model works
A web page that illustrates the box model
How to set widths and heights
How to set margins
How to set padding
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
How to add rounded corners and shadows to borders
How to set background colors and images
How to set background gradients
The HTML for the web page
The CSS for the web page
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
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
The properties for creating text columns
A 2-column web page with a 2-column article
Four ways to position an element
How to use absolute positioning
How to use fixed positioning
How to code unordered lists
How to code ordered lists
How to code nested lists
How to code description 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 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 and phone links
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
The three components of a Responsive Web Design
How to test a responsive design
Fluid layouts vs. fixed layouts
How to convert fixed widths to fluid widths
How to use other units of measure with responsive design
How to size fonts
How to scale images
The HTML for the web page
The CSS for the web page
How to control the mobile viewport
How to code media queries
How to determine the breakpoints for media queries
How to build responsive menus with the SlickNav plugin
The design of the web page
The CSS for the media queries
The CSS for the smallest viewports
The CSS for the media queries
The basic flexbox concepts
How to create your first flexible box
How to align flex items along the main axis
How to align flex items along the cross axis
How to wrap and align wrapped flex items
How to allocate space to flex items
How to change the order of flex items
The design of the web page
The HTML for the main structural elements
The CSS for larger screens
The CSS for smaller screens
An introduction to Grid Layout
How to create a basic grid
How to set the size of grid tracks
The properties for aligning grid items and tracks
A page layout that uses alignment
How to use numbered lines
How to use named lines
How to use template areas
How to use the 12-column grid concept
The design of the web page
The HTML for the structural elements
The CSS for the template areas
The media query for smaller screens
The CSS for the page with a 12-column grid
The headline and gallery layout
The fixed sidebar layout
The advanced grid layout
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
How to use the HTML figure and figcaption elements
How to do image rollovers
How to create image maps
How to use the img and picture elements
How to use Scalable Vector Graphics
When to use an image editor
How to get images
How to get and work with icons and favicons
How to embed fonts in a web page
How to use Google and Adobe Web Fonts
An introduction to tables
How to create a table
How to add a header and footer
How to use CSS to format a table
How to use the CSS structural pseudo-classes for formatting tables
How to use the HTML figure and figcaption elements with tables
How to merge cells in a column or row
How to provide for accessibility
How to make a table responsive
How to create a form
How to use buttons
How to use text fields and text areas
How to use radio buttons, check boxes, and labels
How to use drop-down lists and list boxes
How to use the number, email, url, and tel controls
How to use the date and time controls
How to align controls
How to group controls
How to set the tab order and assign access keys
The HTML attributes and CSS selectors for data validation
How to use regular expressions for data validation
The page layout
The HTML
The CSS
How to use the search control
How to use the file upload control
How to use the color, range, progress, and meter controls
How to use a data list and an output control
Common media types for audio and video
How to convert a file from one media type to another
How to use the HTML audio and video elements
The page layout
The HTML
How to code transitions
How to create an accordion using transitions
How to code 2D transforms
A gallery of images with 2D transforms
How to code simple animations
How to set the keyframes for a slide show
How to code filters
The ten filter methods applied to the same image
What web users want is usability
The current conventions for usability
Use mobile-first design
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 connect to a website on the Internet
How to upload and download files
How to test a web page that has been uploaded to the Internet server
How to get a web host
How to get a domain name
How to get your website into search engines
How to set up, maintain, and improve a website
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 HTML
The JavaScript
How to include jQuery in your web pages
How to code jQuery selectors, methods, and event methods
The HTML
The jQuery
The Image Swap application
The Slide Show application
Three sources for tested JavaScript and jQuery
How to install the source code for this book
How to install Visual Studio Code
How to install Chrome and other browsers
We want to make it easy for you to teach an effective course with our book. And we want students to feel that any assignment you give them is worth doing – that it’s not just busywork.
To make that happen, we include practice exercises at the end of each chapter that are probably different than what you’re used to. We supply instructor’s materials that let you give your students more experience and measure their progress. And we provide an optional Lab Manual that gathers the student materials you’re most likely to use in a single package.
For a complete description of all of these materials, please read the Instructor's Summary. Otherwise, here's a quick overview:
The EOC exercises are carefully designed to let your students (1) practice what they’ve just learned and (2) help them apply what they’ve learned in new ways.
What’s different about these?
You’ll soon find that this approach allows students to practice more…and learn much more!…in less time.
To help you present the book content and evaluate your students’ progress in gaining real-world skills, we provide the following instructor resources (for all the details, please see the Instructor’s Summary):
The complete set of instructor’s materials described in the Instructor’s Summary can be downloaded from your instructor account page once you’ve submitted your request and we’ve approved it. The download is a .zip file.
If you use Canvas as your LMS, we’ve created a complete Canvas course for the book, using selected materials from our full set of instructor’s materials. This makes it easy for you to evaluate the components and see how they work together in a complete course. Again, if you request this file, it will be available to download from your instructor account page. It’s an .ismcc file.
This is the first Canvas course file we’ve created, so we’d really appreciate your feedback on it. Is it easy to install? Is there anything missing or unnecessary? What improvements can we make? Please let us know. Thank you!
The Lab Manual for this book presents all of the student activities from both the book and the instructor’s materials in a single document. That includes course objectives, chapter summaries, term lists, book exercises, case studies, and projects.
On this page, we'll be posting answers to the questions that come up most often about this book. So if you have any questions that you haven't found answered here at our site, please email us. Thanks!
To view the corrections for this book in 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!
This is our site for college instructors. To buy Murach books, please visit our retail site.