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

QR code component solution

Samuel Bolarinwa•30
@Sukysam
A solution to the QR code component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


This is an HTML code for a QR code component. The code starts with a DOCTYPE declaration, followed by the HTML opening and closing tags. The head section contains the meta tag with the charset and viewport attributes, a link tag specifying the favicon for this webpage, a title tag, and a link tag that connects to a CSS stylesheet.

The header section refers to the part of a webpage that appears at the top of the page. In this case, there is no header section defined explicitly.

The body section is where the contents of a webpage go. In this case, there are two main div elements: a container and a qr-frame. Inside the qr-frame div is an image of a QR code, and inside the qr-text div is a heading and a paragraph of text.

At the bottom of the HTML file, there is an attribution div, which specifies the author of the code and the original challenge.

This is a CSS stylesheet for a QR code component.

The first line imports two different font families from Google Fonts and specifies that the DM Serif Text font should be used in the body text and the Outfit font with 400 and 700 weights should be used in other elements of the webpage.

The second line sets all elements to use the border-box model, which ensures that the width and height of an element includes its padding and border.

The third line sets the font family for the HTML element to "Outfit", Arial, Helvetica, sans-serif.

The next few lines style the body element, setting a background color, removing padding and margin, so that the component takes up the full width and height of the window.

The .container div is styled to have a white background color, padding, width, position (absolute), and a 50% transform to center it horizontally and vertically. It also has some additional styling for text alignment and border radius.

The .qr-frame div just has a width of 100%.

The .qr-text div has some padding and styles for the paragraph and heading elements.

The .qr-frame img is set to take up 100% of the width of the containing element and has a border radius of 15px.

The .attribution div contains some styling for a credit that appears at the bottom of the page.

There is also a media query that sets the properties of the .container div to different values when the viewport width is less than or equal to 414px. In this case, the container div gets a width of 95vw and a height of 88vh.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • Mandriva 19•330
    @mandriva19
    Posted almost 2 years ago

    hmm you happened to use AI for writing up the description?

  • Aimal Khan•2,260
    @Aimal-125
    Posted almost 2 years ago

    Bro in your css code, use media query with orientation: portrait; and set the .container to position: initial; or give the body element height of 120 or 150vh so that your card is visible on screens with small heights. As it is not visible on my j3 mobile device.

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