Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found
Not Found

Submitted

QR CODE CSS TRIAL

#accessibility

@Blackhammer03

Desktop design screenshot for the QR code component coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


hey, community. margin and padding is headache for me. anyone with a quick solution ?

Community feedback

Hassia Issah 50,810

@Hassiai

Posted

Replace<div class="items">with the main tag, <p class="sub-head"> with <h1>and <div class="attribution"> with the footer tag to fix the accessibility issues. click here for more on web-accessibility and semantic html

There is no need for <br> in the html, remove all the <br>.

To center .items on the page, 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 .items on the page using flexbox:
body{
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
}
To center .items on the page using grid:
body{
min-height: 100vh;
display: grid;
place-items: center;
}

Give .items a fixed max-width value for a responsive content and a padding value for all the sides. max-width:320px; padding: 15px .

Give the img a max-width of 100% instead of a width in an inline style and a border-radius value, the rest are not needed.

Give h1 and p the same font-size of 15px, text-align: center, 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

Marked as helpful

0

@mgaroz

Posted

Nice work! You can try wrapping everything in a flex container, or since it's the only element in there, the main tag.

<main>
  <div class="items">
    
  </div>
</main>

Then in your css make the main tag a flex container, add a height of 100vh so the container takes the full height of the available screen space.

To center stuff inside a flex container you can add align-items and justify-content and set these properties to center so the content is centered both vertically and horizontally.

  main {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh
  }

Marked as helpful

0

Please log in to post a comment

Log in with GitHub
Discord logo

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