About This Talk
Is the struggle of battling with margins, paddings and layout in front end development all too familiar? Understanding the CSS box model will change your life. By exploring this powerful and fundamental concept through a series of code examples and real-world struggles, you'll feel empowered to tackle your next project with confidence. CSS doesn't have to be scary. This box will change your life.
Takeaways
- The CSS Box Model
- Box Sizing
- Different types of boxes
Resources
Slides
>> Click here to download slides
🌈 Comment below and ask me questions — I might just answer them during my live speaker discussion!
About Salma Alam-Naylor
Salma — or whitep4nth3r — helps developers build stuff, learn things and love what they do. With a background in music, teaching and comedy, and after a career as a front end developer and lead engineer, Salma is now a Developer Advocate at Contentful.
Salma is a Microsoft MVP for Developer Technologies, Twitch partner and live coding streamer, speaker, tech content creator, and relentless advocate for building a truly accessible web. Founder of unbreak.tech and womenwhostream.tech, her projects revolve around activism for social change and equality in the technology industry, and her expertise is the Jamstack and related front end web technologies.
Connect With Me
- Twitter - @whitep4nth3r
- Twitch - whitep4nth3r
- YouTube - whitep4nth3r
- GitHub - whitep4nth3r
- Polywork - whitep4nth3r
- Website
This on-demand talk is part of CodeLand 2021 — a virtual conference brought to you by CodeNewbie & DEV on September 23 & 24, 2021.
Top comments (53)
Heyo! If you have any questions for Salma (@whitep4nth3r ) please drop them here! 🙏
We're gathering up these questions for the live speaker discussion coming up later on. 📣
Do you prefer flexbox or grid? Any reason for the answer?
I use both flexbox and grid — both for different purposes! I always try to use grid for grid layouts (as the name suggests!) and I use flex on elements within the grid to lay things out nicely, vertically center things, and so on.
Always Declare Everything!!!
ALWAYS!!
In your journey learning CSS, what would you say has been your biggest lightbulb moment aside from the box model?
CSS grid has changed the game. I recently discovered grid template areas — and gone are the days of sorting your HTML into rows and columns to mock grid layouts in your markup — just define your grid-areas on your individual elements and kind of visually construct your grid with some lines of CSS. It’s SO powerful and I don’t think people are talking about it enough. No more adding random inner containers to sort things and change the order of things throughout your CSS. Just define the layout of your grid in words in a line of CSS.
On a team full of engineers that focus on functionality and using tools like bootstrap themes, there's one senior dev that specializes in front-end and then there's me that's been helping out. So many overlapping styles and confusion. Great tips and tricks @whitep4nth3r
Thank you, Christian!
Q: Is there any place in the web where documentation about CSS features — like what you have done with boxes — can be found?
From the look of your slides, I could surmise that there has been a lot of work put into it (to make it look soo easy to comprehend).
Q: How much time did you put in your presentation for your allotted time?
There is a wealth of information on MDN about all of the CSS specification: developer.mozilla.org/en-US/docs/W... — it can be rather wordy. So I would always recommend trying to put what you're reading into context and experiment with HTML and CSS with your own code to understand how it works.
I think I spent almost a week on writing the talk and building the demos and ensuring that the message was clear and not scary!
I’ve seen the mozilla docs and I don’t like ‘em.
To make the mozilla docs really good the way you did would be a “miracle” — i.e., without the proper intention, dedication, and most of all time-and-money budget.
You really did a good job for presenting the importance of that one box property.
Really informative. Great talk. Thanks Salma!
Thank you, Novice!
:D
I'll so be re-watching this talk. CSS still confuses me 😩.
Keep practising... it's not easy! We're all here with you!
Thanks for your encouragement! 🙏🏾
This is SUPER helpfully. I had no idea there was Box-sizing
So happy to help, Richard!
I'm using MUI to style my React project and I'm going to try to tricks you talked about to help with some of the funny things the css from MUI is pulling with the ui
Good luck!
Thanks for the deep info on the box model Salma!
aside:
I used to have to tell Opera 12 (long, long ago) to disguise itself to use the user agent for Internet Explorer because sites were written to the IE standard. At least I think I did, lol. It sounds familiar.
Great insight and tips. This should save some time and help with our layouts!
Oof, that sounds tricky! Thanks for your kind words!
Thank you so much for your talk. When looking to create non-orthogonal designs or elements (e.g. diagonals, curves, etc.), is the box model able to achieve this or is there a totally different "model" that is used?
You'll be dealing with transforms and such to achieve those types of results — however — you'll still need to understand the box model and box sizing when working with those types of things in order to understand how margins, paddings, and borders will be affected. Remember — every HTML element rendered in the browser has a box model regardless.
This was truly fantastic. I've spent far to long in my (fairly short so far) coding journey struggling with CSS and this was an incredibly helpful mindset-shift Thank you so much for your talk, and the resources you've shared!
Thank you so much, Sarah!
Really loved it and the setup for the video was epic ❤️
Thank you!
Oooh pretty text colors- could you share color scheme?
If you're referring to the code examples, I think I used the Community Material High Contrast Light theme 😊
Thank you! That is exactly what I was referring to, I'm looking for a new light theme and it caught me eye
This has really helped me better understand CSS box model - excellent presentation!
Thank you! This makes me so happy! 🥳