<div class="wrapper">
  <h3>Method 1: Using flex</h3>
  <div class="common center1">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
  <h3>Method 2: Using Grid(place-items)</h3>
  <div class="common center2">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 3: Using Grid(align and justify self)</h3>
  <div class="common center3">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 4: Using CSS Positioning and CSS transform(translate)</h3>
  <div class="common center4">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 5: Using CSS Margin</h3>
  <div class="common center5">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 6: Using CSS Positioning</h3>
  <div class="common center6">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 7: Using CSS Table(with margin)</h3>
  <div class="common center7">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
   <h3>Method 8: Using CSS Table(with display: inline-block)</h3>
  <div class="common center8">
    <div class="parent">
      <div class="child center-text">Center Me<span>🐣</span></div>
    </div>
  </div>
</div>
body {
  background-color: #ffc4a3;
  display: flex;
  justify-content: center;
  margin-top: 50px;
  font-family: 'Merriweather Sans', sans-serif;
}



* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.wrapper {
     display: flex;
    flex-direction: column;
    align-items: center;
}

h3 {
  margin-bottom: 10px;
  width: 420px;
  color: #303960;
  text-align: center;
}

.center-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 100px;
  background-color: #f96d80;
  border: 5px solid #303960;
  padding: 10px;
}
.center-text span {
  font-size: 25px;
}

.common {
  width: 350px;
  height: 450px;
  border: 8px solid #bb596b;
  margin-bottom: 25px;
}

/*-------------------------------  */
/* Flex Properties */

.center1 .parent {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ------------------------------ */
/* CSS Grid */

.center2 .parent {
  height: 100%;
  display: grid;
  place-items: center;
}

.center3 .parent {
  height: 100%;
  display: grid;
}

.center3 .child {
  align-self: center;
  justify-self: center;
}


/* ------------------------------ */
/* CSS Positioning and translate properties */

.center4 .parent {
  position: relative;
  height: 100%;
}

.center4 .child {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%)
}


/* ------------------------------ */
/* CSS Margins */

.center5 .parent {
  height: 100%;
}

.center5 .child {
  margin: 0 auto;
  margin-top: 50%;
}

/* ------------------------------ */
/* CSS Positioning */

.center6 .parent {
  height: 100%;
  position: relative;
}

.center6 .child {
  position: absolute;
  top: 0;
  left: 0;
  right:0;
  bottom: 0;
  margin: auto;
}

/* In firefox, in place of left/right/top/bottom - we can use inset  */


/* ------------------------------ */
/* Display - Table Properties */

.center7 {
  display: table;
}

.center7 .parent {
  height: 100%;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.center7 .child {
  margin: 0 auto;
}

.center8 {
  display: table;
}

.center8 .parent {
  height: 100%;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

.center8 .child {
  display: inline-block
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.