Design comparison
Solution retrospective
This is my first project here and didn't really encounter any difficulty but I would love some feedback to improve and what to change to a proper front end standard. Thanks!
Community feedback
- @danielmrz-devPosted 10 months ago
Hello @RodRyan19!
Your solution looks great!
I have a suggestion for improvement:
- Use
<main>
to wrap the main content instead of<div>
.
š Think of
<div>
and<span>
in HTML like plain boxes or placeholders. They're handy for holding content, but they don't tell us anything about what's inside or what it's meant for on the webpage.This tag change does not impact your project visually and makes your HTML code more semantic, improving SEO optimization as well as the accessibility of your project.
I hope it helps!
Other than that, great job!
1 - Use
- @hassanmoaaPosted 10 months ago
Hello @RodRyan19!
Great Job solving the challenge mate congrats š
Some suggestions for improvements.
For the font-size it's is recommended to use rems and ems.
font-size: 13px;
i see you using pixels for many elements, never use pixels for font-sizes in any element, here's why:
Certain font-related CSS properties will render your site completely inaccessible if their value is declared using pixels even once.
Which properties are affected?
All of these properties must never ever be declared in pixels:
- font-size
- line-height
- letter-spacing
If you've used pixels to define any of the above style properties, these will not respect the user's font size preferences!
You should use ems, and rems for font-sizes would be better
This article may help:
(https://fedmentor.dev/posts/font-size-px/)
āāāāāāāā
Use
<main>
to wrap the main content instead of<div>
. * š Tags like <div> and <span> are typical examples of non-semantic HTML elements. They serve only as content holders but give no indication as to what type of content they contain or what role that content plays on the page. This tag change does not impact your project visually and makes your HTML code more semantic, improving SEO optimization as well as the accessibility of your project.āāāāāāā
And an extra tip
Heading is defined with
<h1> headings should be used for main headings, followed by <h2> headings, then <h3>, and so on up to <h6><h1>
to<h6>
tags. It is important to use headings to show the HTML document structure.- You could also select all element/tags by using
*
(all-selector) either than selecting all elements by their tag name.
Other than that you're good, keep up the good work!
1 - @Alokray007Posted 10 months ago
Hello there! šš½āāļø
Your solution looks excellent!
I have a suggestion about your code that might interest you:
š If you don't have the Figma design files, I recommend using a browser extension called Perfect Pixel.
It allows you to compare your finished project with the design images that come along when you download the project and check the (almost exact) dimensions. It's very useful!
I hope it helps you in future projects! š
Other than that, great job!
1 - @osmanbay90Posted 10 months ago
Great job on completing the Frontend Mentor challenge! Your project shows promise, but here are some areas where you could make improvements in your HTML and CSS:
1. Semantic HTML: Ensure you use appropriate HTML elements for each piece of content. For instance, use <main> tags and wrap cards to improve accessibility. Replacing the first child
<div>
of the<body>
with<main>
can enhance the structure.2. Remove Unnecessary Code: Less is more! Eliminate any unnecessary code. For example, remove HTML comments and avoid redundant CSS properties. Clarity and simplicity are key.
3. Responsive Images: Give images a
max-width of 100%
to ensure responsiveness across different devices. Also, consider adding a border-radius value for a polished look.4. Typography Consistency: Maintain consistent font sizes, text alignment, and margins. For instance, set
h1
andp
font size to 15px(0.9375rem)
, align text to the center, and apply consistent margins.5. Flexbox and Grid: Explore these layout techniques to create responsive designs. Flexbox is great for one-dimensional layouts, while CSS Grid handles two-dimensional layouts effectively.
6. Accessibility: Use semantic elements like
<nav>
,<article>
, and<section>
to improve screen reader compatibility. Add alt attributes to images for better accessibility.7. CSS Variables: Leverage custom properties (CSS variables) for consistent color schemes, font sizes, and spacing. This makes it easier to maintain and update styles.
8. Organized CSS: Group related styles together. Use separate CSS files for different components or sections. Avoid inline styles whenever possible.
9. Mobile-First Approach: Start designing for mobile screens first, then progressively enhance for larger screens. This ensures a better user experience across devices.
10. Browser Compatibility: Test your design on different browsers (Chrome, Firefox, Safari, Edge) to ensure consistent rendering. Use vendor prefixes for CSS properties if needed.
Remember, practice makes perfect! Keep refining your skills by tackling more challenges on Frontend Mentor. Happy coding! š
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