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

Recipe page (non-semantic html)

spilltheteapls•60
@spilltheteapls
A solution to the Recipe page challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


daily ~~genshin~~ frontend grind I did not notice you were supposed to practice semantic html until i finished everything :(

other things to improve:

  • refactoring (didnt do any refactoring, and chatgpt's refactoring does not retain all css styling)
  • a better way to handle images
  • a better way to structure html (right now it looks kinda messy)
  • a better way to center stuff and add padding/margin
Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Petrit Nuredini•2,860
    @petritnuredini
    Posted over 1 year ago

    Congratulations on completing your Recipe Page project! Your dedication and hard work are evident. Here are some best practices and improvements to consider:

    1. Semantic HTML:

      • Use semantic elements such as <header>, <section>, <article>, and <footer> for better structure and readability.
      • For the recipe, consider using <article> for the main recipe and <section> for sub-sections like ingredients and instructions.
      • Utilize <figure> and <figcaption> for images with captions.
    2. Refactoring CSS:

      • Group common styles to reduce repetition. For example, text styling that repeats can be assigned to a common class.
      • Use CSS variables for colors and fonts to make future changes easier. Learn more about CSS variables here.
    3. Handling Images:

      • Use responsive images with srcset and sizes attributes to ensure images look good on all devices.
      • Consider lazy-loading images for better performance.
    4. HTML Structure:

      • Organize your HTML structure logically. Group related elements together and use indentation consistently.
      • Avoid deep nesting where possible to keep the structure clean and readable.
    5. Centering and Spacing:

      • Use Flexbox or CSS Grid for more efficient and responsive layouts.
      • For centering, flexbox with justify-content and align-items can be very effective.
    6. Accessibility:

      • Ensure all images have meaningful alt attributes.
      • Use proper heading levels (<h1> through <h6>) for better accessibility.
    7. Responsive Design:

      • Test your page at various viewport sizes and make necessary adjustments.
      • Use media queries effectively to ensure a good user experience on all devices.

    Keep up the great work and continue to refine your skills. Every project is a step forward in your development journey. Remember, practice and continuous learning are key to improvement. Keep coding and exploring new challenges!

    For further learning and improvement, consider resources like MDN Web Docs and CSS-Tricks.

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

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