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

Responsive Profile Card using HTML & CSS

@SlenderShield

Desktop design screenshot for the Profile card component coding challenge

This is a solution for...

  • HTML
  • CSS
1newbie
View challenge

Design comparison


SolutionDesign

Solution retrospective


How can i improve the positioning in CSS? I get confused when it comes to positioning in CSS, is there any way to reduce it? What is the best practices for positioning and responsiveness?

Community feedback

@MelvinAguilar

Posted

Hi @SlenderShield ๐Ÿ‘‹, good job on completing this challenge! ๐ŸŽ‰

Here are some suggestions you might consider:

  • Centering the element with position would make your element behave strangely on some mobile devices. Therefore, it's better to use more modern methods of positioning elements, like flexbox or grid:

Using flexbox layout:

body {
   width: 100%;
   min-height: 100vh;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
}

Using grid layout:

body {
   width: 100%;
   min-height: 100vh;
   display: grid;
   place-content: center;
}

Additionally, remove the position properties to center the card correctly.

.wrapper {
    display: flex;
    justify-content: center;
    /* position: absolute; */
    /* top: 50%; */
    /* left: 50%; */
    /* transform: translate(-50%, -50%); */
}

Links with more information:

.

  • You can use CSS background properties directly on your body element to set the background:
body {
    . . .
    background-color: hsl(185, 75%, 39%);
    background-image: url(./images/bg-pattern-top.svg), url(./images/bg-pattern-bottom.svg);
    background-repeat: no-repeat, no-repeat;
    background-position: right 52vw bottom 35vh, left 48vw top 52vh;
}
  • background-color Set the background color
  • background-image Set a background image
  • background-repeat Sets if a background image will be repeated along the horizontal and vertical axes, or not repeated at all.
  • background-position Sets the starting position of a background image. More information
  • You can also specify the size of the background image with background-size

The background property is shorthand for all the properties mentioned above but for now. It is better to understand them separately.

The background-position for me worked with the vw (viewport width) and vh (viewport height) units, but you can also use percentages. It's just a matter of trial and error to place them as you wish.

References:

  1. CSS background Property
  2. Background property
  3. Background-repeat (MDN)

I hope those tips will help you.

Good job, and happy coding!

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