Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted over 3 years ago

Order Summary Page using vanilla HTML & CSS

Nick Williams•320
@nickfwilliams
A solution to the Order summary component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


I had real issues trying to get the curved gradient background. I felt that the time I was spending on it, wasn't optimal, so have left it out. That one element didn't feel very 'newbie' friendly, so I'd be very interested to see what solutions other people came up with,

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Grace•32,130
    @grace-snow
    Posted over 3 years ago

    Hi Nick

    So I guess you’ve watched a tutorial that said to change the root html font size so that 1rem can equal 10px instead of it’s default 16px. It is just my opinion as an accessibility consultant, but this is generally a really bad practice. Unless you really know what you’re doing, you can end up building sites that are impossible to use for people with vision problems who rely on various zooming/scaling settings. All it takes is forgetting to scale up one element that doesn’t inherit font size or using some third party code and it’s game over.

    Now onto the rest of the solution 😊

    • instead of setting width to 375px (which is wider than my prone screen) why not use max width? Let the content be as wide as it can up until that point
    • partner that with some padding on the outer wrapper, or a little margin on the same element to stop the component from ever touching screen edges
    • read up how and when to write alt text on images. Decorative images like that music icon should be treated differently.
    • really think about element choice for interactive elements. What do you expect change, proceed and cancel to do? I don’t think the elements are all correct at the moment. Remember, anchor tags for navigation, buttons for actions (like toggling content, opening modals, form submissions)
    • always include focus-visible styles on interactive elements

    I hope these tips are helpful

    Marked as helpful
  • Akshay•810
    @akshaywebster
    Posted over 3 years ago

    Hey Nick.

    Great work with the challenge.

    My suggestion would be to make it responsive. Currently, on smaller screens, your card is not vertically centered.

    Other than that, you've done a great job!

    Marked as helpful
  • Ben•770
    @BenConfig
    Posted over 3 years ago

    Hi Nick, the curved background is an svg image. Check the images folder that came with the download. You have one for mobile: pattern-background-mobile.svg, and one for desktop: pattern-background-desktop.svg. Add this as a background-image to the body.

    Marked as helpful

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.

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

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