Spotify
Course Description
Learn the essential CSS skills for modern web development from the ground up. Start with core terminology and build up to practical CSS layout designs with Flexbox and CSS Grid. You'll get hands-on challenges styling buttons, landing pages, and mobile navigation menus. By the end of this course, Emma will equip you with the fundamentals of creating professional, responsive websites!
This course and others like it are available as part of our Frontend Masters video subscription.
Preview
CloseWhat They're Saying
It's good to remember the basics of CSS and I just completed "CSS Foundations" by Emma Bostian on Frontend Masters! It was great!
![Miguel Angel Martelo Quiroz](https://pbs.twimg.com/profile_images/1473449838368993289/tuuublW4.jpg)
Miguel Angel Martelo Quiroz
MigueMartelo31
I completed "CSS Foundations" by Emma Bostian on Frontend Masters! Totally worth the time!
![Isaac Agboola](https://pbs.twimg.com/profile_images/1707084453548371968/JF68hYJd.png)
Isaac Agboola
the_isaacagbola
Emma Bostian's "CSS foundations" course on Frontend Masters really helped me gain a deeper understanding of CSS basics and responsive design.
![Achara Chisom](https://pbs.twimg.com/profile_images/1761877171146989568/vrSAQ-TX.jpg)
Achara Chisom
Chisom14Solomon
Learn Straight from the Experts Who Shape the Modern Web
Your Path to Senior Developer and Beyond
- 200+ In-depth courses
- 18 Learning Paths
- Industry Leading Experts
- Live Interactive Workshops
Table of Contents
Introduction
Section Duration: 1 minute
- Emma Bostian introduces the course by providing some personal and professional background. An overview of the course structure is also covered in this segment.
CSS Basics
Section Duration: 39 minutes
- 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.
- 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.
- 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.
- Emma discusses the different ways to define colors in CSS, including named colors, hexadecimal, RGB, RGBA, HSL, and HSLA.
- 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
Section Duration: 23 minutes
- Emma walks through the contents of the starting course repo and sets up VS Code extensions.
- 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.
- 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
Section Duration: 1 hour, 15 minutes
- 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.
- 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.
- Emma demonstrates how to create relationships between selectors by combining selectors. Descendent selectors, child, and general sibling combinators are covered in this segment.
- 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.
- 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.
- Emma answers student questions regarding tips for successfully learning CSS, design resources, and opinions on starting with SASS or LESS for small sites.
- 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.
- 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.
- 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.
- 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.
- 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
Section Duration: 1 hour, 33 minutes
- Emma walks through defining the layout for the main page content including the heading and subheading.
- 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.
- 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.
- 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.
- Emma demonstrates how to approach styling images with varying size dimensions. Creating the speakers layout by utilizing grid is also covered in this segment.
- 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.
- 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.
- Emma walks through implementing a hamburger menu for the application's mobile navigation. Hiding and showing the navigation menu is also covered in this segment
- 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.
Wrapping Up
Section Duration: 2 minutes
- Emma wraps up the course by providing CSS learning resources and other topics to consider diving into.
Learn Straight from the Experts Who Shape the Modern Web
- In-depth Courses
- Industry Leading Experts
- Learning Paths
- Live Interactive Workshops