Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted 6 months ago

qr-code-component with HTML5 and CSS3

TCHINGUÉ MAKAMTÉ Patricia Kévine•100
@Pattykev
A solution to the QR code component challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


What are you most proud of, and what would you do differently next time? What I learned
  • How to auto values om margin properties : In CSS, the margin property is used to create space around elements. When you set the margin to auto, it allows the browser to automatically calculate the margin space. This is particularly useful for centering block-level elements within their container.

Here's what margin: auto; typically means:

  1. Horizontal Centering: When applied to a block element (like a div), setting the left and right margins to auto allows the element to occupy the available horizontal space equally on both sides, effectively centering it within its parent element.

    .centered {
        width: 50%; /* or any other width */
        margin: 0 auto; /* top/bottom margin 0, left/right margin auto */
    }
    
  2. Vertical Margins: The margin: auto; setting does not have the same effect for vertical margins (top and bottom) unless certain conditions are met (like using flexbox or grid layouts).

  3. Flexbox and Grid: In flexbox or grid layouts, margin: auto; can also be used to distribute space between items or to push items to the edges of their container.

In summary, using margin: auto; helps in controlling the layout and positioning of elements within a webpage, particularly for centering elements horizontally.

  • Remembered how to change local repository url git remote set-url origin <put the new url there>
  • How to insert an image with markdown

![<alternative tex>t](<image url>)

What specific areas of your project would you like help with?

In CSS learning.

Code
Select a file

Please log in to post a comment

Log in with GitHub

Community feedback

  • P
    David Lemvigh•200
    @dlemvigh
    Posted 6 months ago

    Generally a nice and clean approach.

    On the .container you set margin: 9rem auto;. As you correctly stated the sets the auto used for both left and right margin centering the content. The css shorthand you use also use 9rem for both top and bottom margin, where the bottom margin might not be intentional (on mobile it could add a scrollbar due to the short height of the page).

    For the container you also define a fixed height for the container itself height: 32rem;. I would suggest just removing the height, and let the content inside determine the height of the container. That would make your solution more robust to future changes. In your case you would have to add some bottom margin to the last element to get the proper padding.

    The last point would be to maybe set padding on the .container instead of having left/right margin on all its child elements.

    Marked as helpful
  • Tarik Raposo Parreira•80
    @tarikraposo
    Posted 6 months ago

    O posicionamento dos elementos foi feito com flexbox; Os espaçamentos com padding 16px, respeitando o tamanho especificado no figma; Código bem estruturado e legível; A solução não possui HTML semântico;

    Melhorias: ajustar tamanho do texto para o proposto no layout.

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