CSS3

 

Welcome to this review of the Pluralsight course CSS3 by J. “Michael” Palermo IV.

Michael is a Senior Alexa Evangelist with AmPalermoIVazon. Michael has authored several technical books and has published several online courses with Pluralsight.

Prior to joining Amazon, Michael worked at Microsoft evangelizing web technologies (ASP.NET 5, AngularJS, Bootstrap) and developing apps/games for mobile devices.

Michael takes his evangelism seriously, and can be seen speaking at developer events around the world.

About this Course

This is a CSS3 beginner friendly course, but not aimed at developers who have never used any version CSS at all. If you have no experience of CSS, I recommend starting with Scott Allen’s Introduction to CSS.

This course is part of the second course in the CSS Learning Path.

This course is four years old, so I will be pointing out any areas which are no longer fully up to date.

Introduction to CSS3

Michael states the scope of this course as follows

“You will have a strong foundation of CSS3 skills and complete this course knowing how (and where) to ask the right questions to advance to a deeper level.”

He adds that the focus of the course is on the most common and valuable features of CSS3.

The topics covered in this course are:

  • Core
  • Selectors
  • Fonts
  • Layout
  • Background
  • Colors
  • Shadowing
  • Borders
  • Transformations
  • Animations
  • Media Queries
  • Scripting

Michael explains that the foundation of CSS3 is level 2 revision 1 and that you can find full details on the W3C CSS site.

CSS Syntax

Michael begins with some basics, such as setting the color of an element, linking to external CSS files, formatting options, and using IDs and Classes.

Introductory Demonstrations

These are done in Visual Studio with Web Essentials but the examples will work with any text editor that you may prefer.

Starting with a completely plain and boring unstyled HTML5 page, Michael adds a link to his style.css spreadsheet.

In this CSS file, he uses Eric Meyer’s CSS Reset, and he adds code for elements and IDs.

Already the page looks a lot better, but so far none of these styles are CSS3 features.

Content

This module covers Fonts, Selectors and Form Inputs.

The @font-face syntax is introduced, and Michael explains how to add a new font, and how to use it.

Michael recommends Font Squirrel for free fonts, where he downloaded Aaargh-webfont.woff and DJ-webfont.woff

He adds it into style.css. The header now looks a lot more stylish.

Next, he adds text-shadow, which puts an orange shadow behind the text.

There are many new selectors available in CSS3, and we see a list of them followed by some demonstrations:

Positional Selectors Demos

We learn how to use:

  • first-child to select the first element in a list
  • last-child to select the last element in a list
  • nth-child with a specified number to select any element of interest in a list
  • nth-child to select every even numbered element
  • nth-child to select every odd numbered element
  • nth-child to select every third element

Target Selector Demos

Michael specifies different z-index values for three selectors:

  • #intro
  • :target
  • all items directly underneath a content element, which are not either the target the intro element

The effect of this is to create the appearance of different pages being shown when the user clicks on different links.

Selection Selector Demos

When Michael initially selects a paragraph of text, we see that it shows as white text on a blue background, which is the browser default.

Once the ::selection rule is added, we see that it now has an orange background.

Michael also demonstrates the :root selector, which changes the entire background to brown.

Styling Form Inputs

In this clip we see a number of selectors of state, including the vendor prefixed definitions.

Stateful Selectors Demo

We see these aesthetic information popups:

“Please enter an email address”

This clip demos :required and :valid with and without vendor prefixes, :not and :optional

Layout

This module describes how to position things into your page, and looks at some background options.

Colors

This module covers Opacity, RGBA & HSLA, Alpha and Gradients

Borders

This module covers how to make borders resizeable, how to round them, and how to provide shadowing to them.

Transforms

Transforms allow us to change things, and in this module we learn how to rotate, skew, scale and translate.

All of these concepts are described, and then we see a demo of them all in action.

Animations

This modules covers two related concepts: Animations, and Transitions.Michael explains the difference between these two so that you can pick the best one for your website.

Media Queries

This module begins with an overview of Responsive Web Design, and then looks at adjusting styles based on viewing dimensions and device constraints.

Micheal demonstrates the site before the changes, how to apply the media queries, and their dramatically improved look.

Script

In this final module, we learn how and why you would change styles programmatically in JavaScript.

It covers feature detection and browser support.

Michael says that there is so much in CSS3 that you can do without any script but there are very good reasons why in some situations you should use JavaScript.

It’s much less of an issue today than at the time of recording, but still not all of the CSS3 features will work in some older browsers. In this module we see that Internet Explorer 9 has incomplete support for CSS3.

Michael recommends Modernizr for doing feature detection and gives a demonstration of how to use it.

He also demonstrates using jQuery to change the style. If you have not used jQuery before, check out Dan Wahlin’s jQuery Fundamentals

Resources

Here is a list of resources recommended by Michael Palermo:

Palermo4 list of CSS3 articles
W3C Cascading Style Sheets
Modernizr
MSDN CSS3 with Internet Explorer 10
CSS 3.0 Maker

Where to Next?

If you enjoyed this course and want to kick your CSS3 skills up to the next level, try CSS3 In Depth by Estell Weyl.

Recommended Speeds

New to CSS: x1.2
Experienced in CSS: x2.0

One thought on “CSS3

  1. Pingback: CSS Learning Path | Zombie Code Kill

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s