: Jen Kramer - Harvard University Extension School
: January 30, 2018
: 5 hours, 38 minutes
Starting with a review of floats for context, but quickly moving into Flexbox and CSS grids, this essential course is for web developers that want to build responsive, beautiful web applications faster using less code and best practices. Master CSS Grid and Flexbox, the latest tools and tricks to layout beautiful, responsive web applications with less code.
This course and others like it are available as part of our Frontend Masters video subscription.
Some Key Takeaways!
By coding along with us in the Workshop, you’ll:
• Explore Flexbox, a one-dimensional layout tool that's finally ready to use in modern browsers
• Learn the hacks to make Flexbox work for full page layouts, similar to what's done in responsive design frameworks like Bootstrap 4, Foundation 6, and UIkit 3
• Discover CSS Grid, the correct way for laying out a two-dimensional design
• Identify CSS Grid compatibility hacks, to make this new tool useful today
• Incorporate media queries, responsive images, and other responsive design best practices into Grid and Flexbox
• Combine Flexbox and Grid to create modern and future-forward layouts
Your (Awesome) Instructor
Jen Kramer is a Lecturer at Harvard University Extension School in the Master's of Liberal Arts in Digital Media Design, teaching at least five courses per year, advising students, and assisting in curriculum design. She is also the author of over 35 video training courses and three books.
CSS Grids and Flexbox in Responsive Web Design We'll begin with a quick review of the industry's current standard, float-based grid systems. We'll review how to code one (quickly), plus advantages and disadvantages of this type of layout. We'll also review media queries and responsive images, including the new tag and the Picturefill polyfill. We'll quickly move on to Flexbox, first exploring exactly how Flexbox works, since it's very different from floats. We'll code a simple grid system with Flexbox, and we'll explore the similarities and differences with a float-based grid system. Next, we'll take advantage of Flexbox's amazing alignment and the ordering features to juice up our grid, taking us places that simply weren't possible with floats. Finally, we'll wrap up our first day by considering a common problem. You have some number of items you must lay out in columns and/or rows on a web page, but you have no idea how many items there are. (An item could be an image, a card, a media object, or anything else that would be considered a unit of content.) On the second day, we'll dive into CSS Grid, the brand-new spec available in the latest browsers. We'll look at Grid's basic syntax, working on a layout of a Mondrian painting as an example, which we'll create with Grid. Next, we'll move on to some of the alternative Grid syntaxes, and we'll explore nested and offset grid layouts. Of course, we'll also cover compatibility issues -- how can we make Grid work across browsers, with reasonable fallbacks? Finally, with Flexbox and Grid understood and mastered, we'll try combining these elements for the best solution to a web page layout problem. By the end of this course, you'll be able to articulate the strengths and weaknesses of float-based layout, Flexbox, and Grid, and you'll be able to code responsive layouts with each of these technologies.
This workshop is geared for an intermediate level audience. There will be lots of time to explore on your own, complete the in-class exercises, and consider how Flexbox and Grid could be assigned to your current layout issues. Beginners will likely be overwhelmed if floats and basic CSS are not completely mastered. Experts capable of learning quickly may feel the course is a little slow.
• You should have a solid working knowledge of hand-coded HTML and CSS, with the basics mastered completely. Knowledge of inheritance, the cascade, and CSS selectors are helpful. You should also have a basic understanding of web page layout with floats or positioning. You do not need any background in Flexbox or Grid before arriving.