Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted about 1 year ago

Blog preview card. Coded with SASS, BEM, Grid, Flexbox, Semantic HTML.

bem, sass/scss, accessibility
Jiří Ćmiel•40
@jiricmiel
A solution to the Blog preview card challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time?

I've tried to use semantic HTML and BEM using SASS.

What challenges did you encounter, and how did you overcome them?

Using BEM I often overthink things. I needed to go back again and rewrite it few times. Sometimes output was not as I expected. I double checked everything with developer tools and fixed the problems. Mostly it was adding padding and margins to inline elements without realizing it.

What specific areas of your project would you like help with?

I'd like someone to check my semantic HTML. I'm not really comfortable with it yet and I'm not sure if I used it right. Any help on that topic is welcome. Also reviewing code in general would be highly appreciated.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • CatalinaF-S•60
    @CatalinaF-S
    Posted about 1 year ago

    Hi! Here my feedback to your project :)

    • Does the solution include semantic HTML? Yes, I see that you have used semantic elements to organize your HTML code.

    • Is it accessible, and what improvements could be made? In general you solved the challenge in a very structured way and I don't see anything you should improve or change.

    • Does the layout look good on a range of screen sizes? The layout look good but I am not sure that you have implemented a responsive solution.

    • Is the code well-structured, readable, and reusable? I find really cool how you modularized in components your scss code.

    • Does the solution differ considerably from the design? Your solution is very close to the design proposed in the challenge.

  • Juan Gomez•260
    @newbpydev
    Posted about 1 year ago

    Hi fellow developer, You seem to have encountered the same problem that I have come across which is the naming of the classes especially using BEM, on most of my projects I try to follow these guidelines:

    • Use more descriptive element names: Ensure each element's name clearly describes its purpose.
    • Avoid unnecessary abbreviations: Use full words for better clarity.
    • Ensure consistency in naming: Maintain a consistent naming pattern throughout the code.

    I have these tips written down on my corkboard so I don't forget to use them on my projects, they might come in handy. Good luck on your journey.

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 all CSS, SCSS and Less files in your repository.

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.

How does the JavaScript validation report work?

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

The report picks out common JavaScript issues such as not using semicolons and using var instead of let or const, among others.

The report will audit all JS and JSX files in your repository. We currently do not support Typescript or other frontend frameworks.

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