Adaptive landing page using Grid and Flexbox
Design comparison
Solution retrospective
During the implementation of the project, I encountered a problem, namely the vertical centering of the element relative to the entire page.
I'm not sure I chose a good solution. I wrapped the main element in a container, for which I set the following values:
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
After that, the main element was centered vertically.
Community feedback
- @lidimiPosted almost 2 years ago
Hi!
You did a very good job on this project. I have some suggestions:
To center this element both vertically and horizontally you can make use of the body tag. Just set the height of body to 100vh (100vh is 100% of the viewport height), and use flex.
Also, remember to add alt attribute to your images. It's very important for screen readers.
Marked as helpful1@GrigoryevaEvaPosted almost 2 years ago@lidimi Thank you very much!
I didn't know about this, I'm still in the process of learning different css units of measurement, I'll definitely try your method. Thanks again for the feedback!
0 - @MelvinAguilarPosted almost 2 years ago
Hello there 👋. Good job on completing the challenge !
I have some feedback for you if you want to improve your code.
- To center an element vertically, you should use a height to its container. In this case it is recommended to use "min-height: 100vh" so that it occupies 100% of the viewport height. e.g.:
.container-main { /* position: fixed; */ /* top: 0; */ /* bottom: 0; */ /* right: 0; */ /* left: 0; */ display: flex; justify-content: center; align-items: center; min-height: 100vh; }
HTML 📄:
- The <div> tag defines a division or section on a website. It is used to style a container with CSS, set special alignment, or position content. It might be more efficient to use the <p> tag; the <p> element represents paragraph-level content, usually text:
<p>A floral, solar and voluptuous interpretation composed by Olivier Polge, Perfumer-Creator for the House of CHANEL.</p>
- The
<h1>
is the most important heading on the page, In this challenge the perfumer's name can be considered like the title of the page, so it should be the<h1>
-
You could use the
<del>
tag to indicate the price that was before the discount. Additionally, you can use asr-only
class to describe the discount. This will help screen reader users to understand that the price was discounted.Example:
<del><span class="sr-only">Old price: </span>$169.99</del>
- The
alt
attribute is used to provide a text description of the image which is useful for screen reader users, assistive technology users, and search engine optimization. Add thealt
attribute to the<img>
tag of the product.
CSS 🎨:
- Instead of using pixels in font-size, use relative units like
em
orrem
. The font-size in absolute units like pixels does not scale with the user's browser settings. This can cause accessibility issues for users who have set their browser to use a larger font size. You can read more about this here 📘.
I hope you find it useful! 😄 Above all, the solution you submitted is great!
Happy coding!
0@GrigoryevaEvaPosted almost 2 years ago@MelvinAguilar Thank you very much!
Thanks to your feedback, I learned a lot of new things. I will definitely improve this project and in the future I will adhere to these recommendations!
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