Design comparison
Solution retrospective
I discovered I had to nest more <div>s than expected in order to get the desired layout through Flexbox. It felt like my HTML markup got more cluttered than it should that way, but it seemed to be the only way I could accomplish it. The hover overlay effect on the main image would have been a real challenge, but luckily a completed project from a Udemy course had a similar design, so I went back to that to refresh my memory and was able to pull it off. I didn't seem to need to create a mobile breakpoint because the size of the card was small enough to retain the same look on mobile.
Community feedback
- @0xabdulkhaliqPosted over 1 year ago
Hello there 👋. Congratulations on successfully completing the challenge! 🎉
- I have other recommendations regarding your code that I believe will be of great interest to you.
COMPONENT MEASUREMENTS 📐:
- The
width: 100%
property formain
element is not necessary. because it's a block level element which will take the full width of the page by default.
- Use
min-height: 100vh
formain
instead ofheight: 100vh
. Setting theheight: 100vh
may result in the component being cut off on smaller screens.
- For example; if we set
height: 100vh
then themain
will have100vh
height no matter what. Even if the content spans more than100vh
of viewport.
- But if we set
min-height: 100vh
then themain
will start at100vh
, if the content pushes themain
beyond100vh
it will continue growing. However if you have content that takes less than100vh
it will still take100vh
in space.
.
I hope you find this helpful 😄 Above all, the solution you submitted is great !
Happy coding!
Marked as helpful0@kevinx9000Posted over 1 year agoThank you for the feedback and breakdown, @0xAbdulKhalid ! I do get confused on best practices for sizing, height vs min-height etc. and when best to use, so I appreciate your explanation!
0 - @Ibarra11Posted over 1 year ago
I think overall you did a good job on structuring your HTML and didn't see no issue with the divs. One thing I did notice is that on your .avatar-section class you don't need to include flex-direction: row and justify-content: flex-start. Those are the default values when you use display: flex. Also, there are some situations where you use padding or margin to distance flex children where you could use gap property.
Marked as helpful0@kevinx9000Posted over 1 year agoThank you @Ibarra11 for taking a look at the HTML structure, and for the feedback! For the flex-direction, etc., I was probably stating things explicitly in order to keep track of all the Flex-boxes I was adding, and likely used that as a method to keep everything straight. So I went back to see about cleaning that up and that adjustment allowed me to eliminate about ten lines of code overall with that alone, so on a much larger project that would definitely add up, and will be useful to remember to be more economical going forward. Also, I thought gap was just a Grid property, so it's good to know that can used for Flex as well. Thank you for the feedback!
0
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord