Table of Contents
Introduction
CSS Basics
CSS History & Basics
Emma 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.Selectors
Emma 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.Specificity
Emma 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.Color
Emma discusses the different ways to define colors in CSS, including named colors, hexadecimal, RGB, RGBA, HSL, and HSLA.Fonts & Typography
Emma 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
Project Setup
Emma walks through the contents of the starting course repo and sets up VS Code extensions.Landing Page CSS & HTML
Emma 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 & Variables
Emma 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
Layout Methods History
Emma 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 & Grid
Emma 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.Combinators
Emma 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 Header
Emma 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&A
Emma answers student questions regarding tips for successfully learning CSS, design resources, and opinions on starting with SASS or LESS for small sites.The Box Model
Emma 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 & Positioning
Emma 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 Radius
Emma 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 & Cursor
Emma 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 & Transitions
Emma 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 Layout
Emma walks through defining the layout for the main page content including the heading and subheading.Styling Interactive Buttons
Emma 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.SVG
Emma 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&A
Emma 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 Layout
Emma 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 Queries
Emma 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 Layout
Emma 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 Menu
Emma walks through implementing a hamburger menu for the application's mobile navigation. Hiding and showing the navigation menu is also covered in this segmentMenu Transition, Color & Scrolling
Emma 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.