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

qr-code using html and css

ayupaul•10
@ayupaul
A solution to the QR code component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)
Code
Couldn’t fetch repository

Please log in to post a comment

Log in with GitHub

Community feedback

  • Hassia Issah•50,390
    @Hassiai
    Posted over 2 years ago

    Replace the div with the main tag to fix the accessibility issues. click here for more on web-accessibility and semantic html There is no need for the <br> in the html.

    To center the div on the page using flexbox or grid instead of a margin, add min-height:100vh; display: flex; align-items: center: justify-content: center; or min-height:100vh; display: grid place-items: center to the body.

    To center  the div on the page using flexbox:
    body{
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    }
    
    To center the div on the page using grid:
    body{
    min-height: 100vh;
    display: grid;
    place-items: center;
    }
    

    For a responsive content, there is no need to give the div a height value, replce the width of the div with max-width , give it a fixed padding value and increase the max-width. max-width: 320px padding:16px.

    Give the img a max-width of 100% for a responsive width instead of an inline-styling with a width and height value.

    Give h1 and p the same font-size of 15px, and the same margin-left, margin-right and margin-top values. Give p a margin bottom value.

    Use relative units like rem or em as unit for the padding, margin, width values and preferably rem for the font-size values, instead of using px which is an absolute unit. For more on CSS units Click here

    Hope am helpful.

    Well done for completing this challenge. HAPPY CODING

  • Melvin Aguilar 🧑🏻‍💻•61,020
    @MelvinAguilar
    Posted over 2 years ago

    Hello 👋. Congratulation on successfully completing your first challenge 🎉 ! !

    I have some recommendations regarding your code that I believe will be of great interest to you.

    • Change the name of the file qr.html to index.html to access the solution only using https://ayupaul.github.io/qr-code/. by default when typing a url the file index.html is displayed and that's why you had to manually write the file name. This name for the main document is a standard.

    HTML 🏷️:

    • Wrap the page's whole main content in the <main> tag.
    • The <br> tag is often used to create line breaks, but it doesn't convey any semantic meaning. When a screen-reader reads the text, it will break the flow of reading at the line break tag, which can be confusing for users. More information here.

    Alt text 📷:

    • The alt attribute should not contain the words "image", "photo", or "picture", because the image tag already conveys that information.
    • The alt attribute should explain the purpose of the image. Uppon scanning the QR code, the user will be redirected to the frontendmentor.io website, so a better alt attribute would be QR code to frontendmentor.io

      If you want to learn more about the alt attribute, you can read this article. 📘.

    CSS 🎨:

    • Instead of using pixels in font-size, use relative units like em or rem. The font-size in absolute units like pixels does not scale with the user's browser settings. Resource 📘.
    • For better readability, consider changing the color of the paragraph element to a darker hue, such as hsl(220deg, 15%, 55%). This will increase contrast and make the text more legible against the background.

    CSS Reset 🔄:

    • You should use a CSS reset. A CSS reset is a set of CSS rules that are applied to a webpage in order to remove the default styling of different browsers.

      CSS resets that are widely used:

      • Reset CSS
      • "My Custom CSS Reset" by JoshWComeau

    I hope you find it useful! 😄 Above all, the solution you submitted is great!

    Happy coding!

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