Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

Preview Card with CSS

@abiyyuaqzal

Desktop design screenshot for the Blog preview card coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Community feedback

P
Steven Stroud 9,060

@Stroudy

Posted

Hello again, Fantastic effort on this! You’re really nailing it. Just a few things I noticed that could make it even better…

  • This <div class="container"> should be a <main> tag inside the <body> of your HTML is a best practice because it clearly identifies the main content of your page. This helps with accessibility and improves how search engines understand your content.

  • Using font-display: swap in your @font-face rule improves performance by showing fallback text until the custom font loads, preventing a blank screen (flash of invisible text). The downside is a brief flash when the font switches, but it’s usually better than waiting for text to appear.

  • While px is useful for precise, fixed sizing, such as border-width, border-radius, inline-padding, and <img> sizes, it has limitations. Pixels don't scale well with user settings or adapt to different devices, which can negatively impact accessibility and responsiveness. For example, using px for font sizes can make text harder to read on some screens, Check this article why font-size must NEVER be in pixels. In contrast, relative units like rem and adjust based on the user’s preferences and device settings, making your design more flexible and accessible. Use px where exact sizing is needed, but prefer relative units for scalable layouts. If you want a deeper explanation watch this video by Kevin Powell CSS em and rem explained. Another great resource I found useful is this px to rem converter based on the default font-size of 16 pixel.

  • I think you can benefit from using a naming convention like BEM (Block, Element, Modifier) is beneficial because it makes your CSS more organized, readable, and easier to maintain. BEM helps you clearly understand the purpose of each class, avoid naming conflicts, and create reusable components, leading to a more scalable codebase. For more details BEM,

You’re doing fantastic! I hope these tips help you as you continue your coding journey. Stay curious and keep experimenting—every challenge is an opportunity to learn. Have fun, and keep coding with confidence! 🌟

Marked as helpful

0

@abiyyuaqzal

Posted

I've added <main> tag, font-display also change my px scale to rem/em in my code. can you review my changes, please? @Stroudy

*I haven't implemented BEM in my code yet, maybe in the next challenge I will implement it

1
P
Steven Stroud 9,060

@Stroudy

Posted

Hey @abiyyuaqzal,

  • I see you have added a <main> but i would have replace on of these with the main, Now you have three HTML elements wrapping the same thing,
    <div class="container">
        <div class="box">
  • Your heading elements <h3><h2><h4>, Heading elements should be in sequentially-descending order (e.g., <h1>, <h2>, <h3>) to create a clear content structure, improving accessibility and SEO. Skipping levels or using them out of order can confuse screen readers, affect search engine rankings, and make your content harder to understand.

  • Most of your height and widths should also be in rem, You should try to use min-width: and max-width: as this is way more responsive then just width play around with it,

Keep up the great work, You’re doing amazing, and I can’t wait to see what you create next. Happy coding! 🚀

0

@Malarpit16

Posted

Looks Good! I would add some padding to the bottom of the paragraph because it looks a little strange touching the picture of Greg Hooper. Besides that you did amazing.

Marked as helpful

0

Please log in to post a comment

Log in with GitHub
Discord logo

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