CSS Fundamentals
What is CSS and its role in web development.
The history and evolution of CSS to CSS3.
Ways to include CSS in HTML: external stylesheets, internal styles, inline styles, and the @import rule.
Basic selectors: element (type), class, and ID selectors.
Substring matching attribute selectors.
Combinators: descendant, child, adjacent sibling, general sibling.
Understanding and using pseudo-classes (e.g., :hover, :focus, :active, :nth-child(), :last-child).
CSS3 structural pseudo-classes: :not() and :empty() selectors.
Amendments to pseudo-elements (e.g., ::before, ::after, ::first-line).
Understanding the components: content, padding, border, and margin.
Block-level vs. inline elements.
How the box model affects element dimensions.
Foundational CSS Properties
Font properties: font-family, font-size, font-weight, font-style, line-height.
Text properties: color, text-align, text-decoration, text-transform, letter-spacing, word-spacing.
CSS color formats: hex codes, RGB, HSL.
Alpha transparency with RGBA and HSLA.
- background-color
- background-image
- background-repeat
- background-position
- background-size
CSS3 Enhancements and Layout
- linear gradients
- radial gradients
- repeating gradients
- background-size
- background-origin
- background-clip
- border-radius
- border-shadow (box shadows)
Introduction to Flexbox and its one-dimensional nature.
- display: flex
- flex-direction
- flex-wrap
- justify-content
- align-items
- align-content
- gap
- Order
- flex-grow
- flex-shrink
- flex-basis
- align-self
Introduction to CSS Grid and its two-dimensional nature.
Creating a grid container (display: grid).
- grid-area
- grid-template-area
- grid-row-start/end
- grid-column-start/end
- row-gap
- column-gap
- gap
Automatic placement of grid items:
- grid-auto-flow
- grid-auto-rows
- grid-auto-columns
Named grid lines and grid areas.
Understanding the relationship between CSS Grid and Flexbox.
CSS3 Transformations, Transitions, and Animations
Understanding the transform property.
- translate()
- rotate()
- scale()
- skew()
- matrix()
Understanding CSS transitions and how they create smooth changes.
- transition-property
- transition-duration
- Using timing functions like ease, linear, ease-in, ease-out, ease-in-out, and cubic-bezier
- transition-delay
The transition shorthand property.
Understanding CSS animations and keyframes.
- animation-name
- animation-duration
- animation-timing-function
- animation-delay
- animation-iteration-count
- animation-direction
- animation-fill-mode
- animation-play-state
Creating and applying animations to elements.
Basic concepts of 3D transformations.
- translate3d()
- rotateX()
- rotateY()
- perspective
limitations and browser support for CSS 3D transforms.
Weeks 9-10: Responsive Web Design and Advanced Topics
Understanding the principles of responsive web design. Using the viewport meta tag.
Media Queries for different screen sizes, orientations, and resolutions.
Creating fluid layouts using percentages and responsive units.
Understanding the benefits and drawbacks of using CSS frameworks.
Introduction to CSS custom properties. Declaring and using CSS variables. Setting fallback values.
Overview of concepts like BEM (Block, Element, Modifier) and other modular CSS approaches.