Question for Kevin
Hi, this question is for Kevin if I might be so bold. I am a college instructor who teaches web development / front end. I went through your HTML & CSS for Absolute Beginners series to see your topic progression and concepts taught versus how I teach the subject to my students. Great course by the way, I would highly recommend it to my students. Two subjects I noticed you did not covers were CSS floats and CSS positioning.
Where do you feel these subjects belong in the greater teaching of web layout? I agree with teaching CSS grids and CSS flexbox first as they are used more often to the do the heavy lifting of layout, and then teaching floats and positioning when it makes sense for particular use cases. If you want a sticky nav, you need CSS positioning to create that. I just thought it was interesting that those topics were not covered in the basic level course. If you were making an intermediate course, would you include the topics there?
3 Replies
While I can't speak for Kevin, I can suggest that probably floats should be touched on when teaching about images, as the initial intent (and probably only valid use-case now) for them is to allow text to float around an image.
Though I hazard to guess that positioning isn't a beginner thing, so that's probably why it was omitted.
-# also, I've let him know that you asked this question so hopefully he'll be able to explain his reasoning.
Yeah, I hold off on positioning for the "how can I solve this specific problem" situations.
When I started teaching, I taught it fairly early on, and over the years I pushed it further and further back, as I'd see students using it for things that we shouldn't use it for.
I feel like it's so easy for it to build in bad habits. I'd rather someone practice making layouts without it to start.
Hi Kevin, thanks for taking the time to respond, I appreciate it. I agree to focus on easy responsive layouts with grid and flexbox first as it it is easy for students to fall into bad habits or try to use absolute: position to create layouts instead of small use-case fixes.
Thanks for your input