Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted almost 4 years ago

HTML & SASS / Mobile First & BEM

Samyr Oliveira Ribeiro•215
@SamyrOR
A solution to the Stats preview card component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


Hi everybody!

A new challenge done, any feedbacks are welcome.

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

  • Vanza Setia•27,715
    @vanzasetia
    Posted almost 4 years ago

    👋Hi Samyr Oliveira Ribeiro!

    I have some feedback on this solution:

    • Remove the style tag and its comment.
    • Wrap all your contents, expect the footer with main tag.
    • The img tag always needs src attribute.
    • In this case, the image is just for decoration. You can just leave the alt="" blank, so the screen reader will ignore that image.
    • For the stats, consider using ul and li tag and for the stats__title, I recommend to use strong tag instead of heading tags.
    • For the container width, I recommend to use max-width instead. That way, it would be more responsive. Also, use rem or em for the max-width instead of vw. The vw unit can result an unexpected behavior.
    • Leave the root font size or html font size 100% which is the default. Setting font-size to 62.5% will make the user have to adjust their font size to be able to your site.

    That's it! Hopefully this is helpful!

    Marked as helpful
  • Grace•32,130
    @grace-snow
    Posted almost 4 years ago

    Yeah, I would never resize html/root font size down to 62.5% mainly because it is completely unnecessary, and it carries risk. You are correct you can mitigate against the accessibility issues by scaling the font size back up with 1.6rem on the body, BUT

    • not all elements inherit font size from the body so you have to remember to manually scale up them as well
    • you need to do extra testing for that reason
    • any rem sizes on third party components or plugins you bring in will need loads more overrides
    • because you’re changing an established default, you cannot guarantee it will work correctly for everyone on every device, operating system, browser and tech set up

    Basically it comes with a lot of risks for almost no benefit.

    There is no reason 1rem needs to equal 10px. As soon as you start thinking entirely in REM - building for alignment, proportionality and spacing - rather than thinking in pixels, the whole point disappears.

  • Grace•32,130
    @grace-snow
    Posted almost 4 years ago

    That all said, this is a really nice solution! Looks great and semantically spot on. Well done 👏

Join 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
Frontend Mentor logo

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

How does the accessibility report work?

When a solution is submitted, we use axe-core to run an automated audit of your code.

This picks out common accessibility issues like not using semantic HTML and not having proper heading hierarchies, among others.

This automated audit is fairly surface level, so we encourage to you review the project and code in more detail with accessibility best practices in mind.

How does the CSS report work?

When a solution is submitted, we use stylelint to run an automated check on the CSS code.

We've added some of our own linting rules based on recommended best practices. These rules are prefixed with frontend-mentor/ which you'll see at the top of each issue in the report.

The report will audit 1st-party linked stylesheets, and styles within <style> tags.

How does the HTML validation report work?

When a solution is submitted, we use html-validate to run an automated check on the HTML code.

The report picks out common HTML issues such as not using headings within section elements and incorrect nesting of elements, among others.

Note that the report can pick up “invalid” attributes, which some frameworks automatically add to the HTML. These attributes are crucial for how the frameworks function, although they’re technically not valid HTML. As such, some projects can show up with many HTML validation errors, which are benign and are a necessary part of the framework.

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Frontend Mentor for Teams

Frontend Mentor for Teams helps companies and schools onboard and train developers through project-based learning. Our industry-standard projects give developers hands-on experience tackling real coding problems, helping them master their craft.

If you work in a company or are a student in a coding school, feel free to share Frontend Mentor for Teams with your manager or instructor, as they may use it to help with your coding education.

Learn more

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub

Frontend Mentor for Teams

Frontend Mentor for Teams helps companies and schools onboard and train developers through project-based learning. Our industry-standard projects give developers hands-on experience tackling real coding problems, helping them master their craft.

If you work in a company or are a student in a coding school, feel free to share Frontend Mentor for Teams with your manager or instructor, as they may use it to help with your coding education.

Learn more

Oops! 😬

You need to be logged in before you can do that.

Log in with GitHub