Week 3 Reflection

2–3 minutes

This week, we delved deeper into CSS layouts and focused on making them both responsive and fluid. I’m realizing just how essential Responsive Web Design is, especially as different users access websites on various devices like desktops, tablets, and smartphones. It’s not just about how things look on a western-style layout either; global considerations are also important, as not every region structures content the same way.

A big part of the week was spent exploring Flexbox, which is great for arranging elements in either a row or a column (known as one-dimensional layouts). Compared to CSS Grid, which can handle both rows and columns (two-dimensional layouts), I’m finding that I still prefer Grid for more complex, visually dynamic designs. But Flexbox does offer simplicity, especially when I want to create even, symmetrical layouts. Learning about the flex-flow shorthand (combining flex-direction and flex-wrap) was a time-saver, and I can see how it will speed up my workflow in the future.

Another concept we learned that I found particularly useful was the nth-of-type() selector, which allows me to target specific elements based on their order among other elements of the same type. We also covered first-child, which is useful when selecting the first element in a group. This is a very powerful tool for styling specific sections of content without needing to give every element a class or ID. I see this as being extremely useful for cleaner, more organized CSS in the future.

Flexbox’s alignment capabilities are something I’m beginning to enjoy more, especially after using the Developer Tools in the browser to visualize how elements align. One thing that stood out to me was learning how to rearrange the order of elements without affecting the source code’s order. This flexibility is something I plan to use often since I love to experiment with layout changes, and it will help me save time while keeping my HTML clean.

I also gained more confidence in using CSS Grid, particularly with line-based placement, which simplifies organizing content. I found it much easier than using item names for placement, making my workflow smoother.

Although I’m getting more comfortable with media queries and how to adjust layouts for different screen sizes, breakpoints are still something I need to clarify. However, understanding the importance of mobile-first design is something I’ll prioritize going forward, as it’s becoming an industry standard.

Going forward, I want to practice more with Flexbox to become just as comfortable with it as I am with Grid. I also plan to refine my skills with media queries and master breakpoints, which are essential for a seamless responsive design. I’m excited about experimenting with these tools to make my web pages more dynamic and accessible.