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

QR challenge with HTML5 and CSS3

Oluwalolope Adeleye•600
@Oluwalolope
A solution to the QR code component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


Hello! I want to know if it is best to use the QR image as a block-line image or background image. Also I had some challenges when I was putting the text under the QR. I initially put it the QR into one div and the text into another div and wrapped it around with a container div. I then discovered that it gave me problems later on, like there was a gap in between the divs. So i opted to put both the text And QR into a single Div but wrapped the text in a p tag. I will like to know what is best practice and how I can make my code cleaner. Thanks!!

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Gitanshu sankhla•190
    @Gitax18
    Posted about 2 years ago

    hello Oluwalolope, and congrats on completing the QR code component challenge. I have read your question on what is the best practice to arrange the image, title, and paragraph inside a container.

    My solution to this problem is to use Flexbox, you can change your container display to flex and change the flex-direction to the column. this will solve the problem of separating different components into different divs. and in my perspective particularly in this case, putting an image inside an <img/> tag is better than a background-image.

    and one more thing rather than using font-size in px used it in rem units, just set the HTML font size to 62.5% so that 1rem will become equal to 1px and this will become easy to calculate font size throughout the project. and rather than using width, use max-width and rather than using height, give the image aspect-ratio of 1 / 1. These tips will make your project more responsive.

    Good day, Oluwalolope I hope my feedback will help you.

    Marked as helpful
  • Abdul Khaliq 🚀•72,380
    @0xabdulkhaliq
    Posted about 2 years ago

    Hello there 👋. Congratulations on successfully completing the challenge! 🎉

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

    CSS 🎨:

    • Looks like the component has not been centered properly. So let me explain, How you can easily center the component without using margin or padding.

    • We don't need to use margin and padding to center the component both horizontally & vertically. Because using margin or padding will not dynamical centers our component at all states

    • To properly center the component in the page, you should use Flexbox or Grid layout. You can read more about centering in CSS here 📚.

    • For this demonstration we use css Grid to center the component.
    body {
    min-height: 100vh;
    display: grid;
    place-items: center;
    }
    
    • Now remove these styles, after removing you can able to see the changes
    body {
    padding-top: 100px;
    }
    div {
    margin-left: auto;
    margin-right: auto;
    }
    


    • Now your component has been properly centered

    .

    I hope you find this helpful 😄 Above all, the solution you submitted is great !

    Happy coding!

    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.

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