Design comparison
Solution retrospective
- Using flexbox how can I bring the crossed-out price next to the new price?
- I still struggle with making content spread evenly throughout all screen sizes any tips?
Community feedback
- @correlucasPosted about 2 years ago
👾Hello Justin, Congratulations on completing this challenge!
Great solution and great start! By what I saw you’re on the right track. I’ve few suggestions to you that you can consider to add to your code:
Your component is okay but its missing the vertical alignment. The best way to do it is by using
flexbox
. First step is to addmin-height: 100vh
to make the body height size becomes 100% of the screen height, this way you make sure that whatever the situation the child element (the container) align the body and then use the flex properties for alignment withdisplay: flex
/align-items: center;
/justify-content: center;
section { min-height: 100vh; /* margin-top: 7rem; */ display: flex; align-items: center; justify-content: center; }
THE PICTURE TAG is a shortcut to deal with the multiple images in this challenge. So you can use the
<picture>
tag instead of importing this as an<img>
or using a div withbackground-image
. Use it to place the images and make the change between mobile and desktop, instead of using adiv
orimg
and set the change in the css withdisplay: none
with the tag picture is more practical and easy. Note that for SEO / search engine reasons isn’t a better practice import this product image with CSS since this will make it harder to the image. Manage both images inside the<picture>
tag and use the html to code to set when the images should change setting the devicemax-width
depending of the device desktop + mobile.Check the link for the official documentation for
<picture>
in W3 SCHOOLS:https://www.w3schools.com/tags/tag_picture.asp
✌️ I hope this helps you and happy coding!
Marked as helpful0@Jad229Posted about 2 years ago@correlucas Wow I did not know about the picture tag, for sure going to look into that thank you!
0 - @D-KILLJOYPosted about 2 years ago
Wrap both in a (div) and set display to flex, then use "align items: center" and they would placed side by side. you can use the gap property to create a little space between them.
Marked as helpful0
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