0

At first, I am sorry, plz pardon me. I am very bad at English as it is not my first language. Probably that's why I didn't find any solution.

I am making a responsive card group with 5 cards. For a large screen, I want to fit 4 cards in a row and the extra card will be centered in the next row. For mid-screen 3 cards will be in a row and 2 extra cards will be centered in the next row.

I can do this. I achieved

But I want to do thisenter image description here

My attempt:

.skills-content {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;}

.card {
width: calc(25% - 20px);
background: blue;
color: white;
text-align: center;
border-radius: 6px;
padding: 20px 25px;
transition: all 0.5s ease;}


          <div class="skills-content">
                <div class="card">
                    <div class="box">
                        <i class="fab fa-html5"></i>
                        <div class="text">HTML</div>
                    </div>
                </div>
                <div class="card">
                    <div class="box">
                        <i class="fab fa-css3-alt"></i>
                        <div class="text">CSS</div>
                    </div>
                </div>
                <div class="card">
                    <div class="box">
                        <i class="fab fa-js"></i>
                        <div class="text">JavaScript</div>
                    </div>
                </div>
                <div class="card">
                    <div class="box">
                        <i class="fab fa-node"></i>
                        <div class="text">NodeJs</div>
                    </div>
                </div>
                <div class="card">
                    <div class="box">
                        <i class="fab fa-node"></i>
                        <div class="text">NodeJs</div>
                    </div>
                </div>
            </div>
BLIND
  • 61
  • 10

1 Answers1

1

Use flexbox for that:

.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.card {
  width: 180px;
  height: 180px;
  background: cornflowerblue;
  border: green solid 2px;
}
<div class="container">
  <div class="card"></div>
  <div class="card"></div>
  <div class="card"></div>
  <div class="card"></div>
  <div class="card"></div>
</div>

Open it in "full page" mode, then resize the browser to see the effect.

Shahriar
  • 1,855
  • 2
  • 21
  • 45