Table of Contents
IntroductionEmma Bostain introduces the course by providing some personal and professional background. An overview of the course structure is also covered in this segment.
CSS History & BasicsEmma discusses the history of CSS, its rendering process, and CSS terminology regarding elements. This segment also includes a comparison of replaced and non-replaced elements, as well as block and inline elements.
SelectorsEmma discusses type, class, ID, and universal selectors, which select the HTML element(s) that styling should be applied to. The makeup of a CSS style rule includes a selector, declaration block, declaration, property, and value.
SpecificityEmma demonstrates the hierarchy of inheritance used to determine where styling declarations are applied. The different weights applied to CSS declarations are also discussed in this segment.
ColorEmma discusses the different ways to define colors in CSS, including named colors, hexadecimal, RGB, RGBA, HSL, and HSLA.
Fonts & TypographyEmma demonstrates utilizing generic font families as a fallback font if the declared font is not available. Other font-related properties such as font-weight, font-size, text-decoration, and the values used to define them are also covered in this segment.
Project SetupEmma walks through the contents of the starting course repo and sets up VS Code extensions.
Landing Page CSS & HTMLEmma demonstrates defining the styling for the landing page with inline styles, placing a style tag in the head, and using external style sheets. Importing and applying external fonts is also covered in this segment.
Creating Base CSS File & VariablesEmma demonstrates creating multiple CSS files to share style declarations and avoid duplicate code. Utilizing CSS variables to create style values that are reusable, readable, and easier to update is also covered in this segment.
Layout Methods HistoryEmma discusses previously used methods for laying out elements on web pages. The use of the table element, the display property, and floats are covered in this segment.
Flexbox & GridEmma demonstrates the effects of flexbox properties, including flex-direction, justify-content, align-items, and flex-wrap. Defining a layout using a grid display is also covered in this segment.
CombinatorsEmma demonstrates how to create relationships between selectors by combining selectors. Descendent selectors, child, and general sibling combinators are covered in this segment.
Block Element Modifier (BEM)Emma discusses design methodologies used to organize CSS code. The block element modifier methodology helps create reusable components and will be the methodology used in this course.
CSS HeaderEmma walks through styling the header for the course project utilizing previously discussed CSS basics, type and class selectors, and both flex and grid containers for a more complex layout.
Getting Started with CSS Q&AEmma answers student questions regarding tips for successfully learning CSS, design resources, and opinions on starting with SASS or LESS for small sites.
The Box ModelEmma discusses block, inline, and inline-block elements and how they interact with the CSS box model. The differences between the standard box model and the alternative box model are also covered in this segment.
Z-Index & PositioningEmma demonstrates setting the stacking order of elements by defining the element's z-index. Positioning elements in a document with the position CSS property and top, right, bottom, and left properties are also covered in this segment.
Border & Border RadiusEmma demonstrates defining the style, color, and width of an element's border. Rounding the outer edge corners of an element's border using border-radius is also covered in this segment.
Background, Dropshadow & CursorEmma discusses background style properties, including color, image, repeat, size, and position. How to create a drop shadow and set the cursor value is also covered in this segment.
Pseudo Classes, Elements & TransitionsEmma demonstrates applying styles based on the selected elements specified input, location, resource state, tree structure, and user action by utilizing pseudo-classes. Utilizing pseudo-elements to style a specific part of the selected element(s) and transitions to transition between states is also covered in this segment.
Interactive & Responsive UI
Home Page LayoutEmma walks through defining the layout for the main page content including the heading and subheading.
Styling Interactive ButtonsEmma demonstrates adding modifiers to the primary and secondary buttons to allow custom styles while still sharing a general button styling. Excluding only the last button from the margin styling is also covered in this segment.
SVGEmma demonstrates utilizing scalable vector graphics (SVG) for images with customizable attributes that can be rendered at any size without losing quality. Defining the colors of the speakers page is also covered in this segment.
Align Items Q&AEmma answers student questions regarding text-align compared to justify-content and align-items compared to text-align. The align-items value of baseline is also discussed in this segment.
Speakers Image & Grid LayoutEmma demonstrates how to approach styling images with varying size dimensions. Creating the speakers layout by utilizing grid is also covered in this segment.
Responsive Layout with Media QueriesEmma walks through implementing media queries to create a responsive layout. Device type, viewport size, preferred color scheme, and orientation are some of the features media queries can look for.
Mobile Header LayoutEmma demonstrates defining the layout for the mobile version of the application header. When arranging layouts, it is important to note the syntax differences between grid and flexbox.
Mobile Navigation MenuEmma walks through implementing a hamburger menu for the application's mobile navigation. Hiding and showing the navigation menu is also covered in this segment
Menu Transition, Color & ScrollingEmma adds a transition to the mobile navigation menu to make showing and hiding the menu less jarring. Implementing the mobile menu on the speakers page is also covered in this segment.