Responsive grid with CSS Grids

Responsive grid with CSS Grids

by humanzing

HTML

<ul class="c">
  <li>
    <ul>
    <li>
      <ul>
        <li><img id="it1_5" class="top" src=""></li>
        <li><img id="it1_5" class="bot" src=""></li>
      </ul>
    </li>
    <li>
      <ul>
        <li><img id="it1_5" class="top" src=""></li>
        <li><img id="it1_5" class="bot" src=""></li>
       </ul>
    </li>
    </ul>
   </li>
  <li id="clin_1">:</li>
  <li> <ul>
    <li>
      <ul>
        <li>
          <img id="it1_4" class="top" src="">
          <img id="it2_4" class="top" src="">
        </li>
        <li>
          <img id="ib1_4"  class="bot" src="">
          <img id="ib2_4" class="bot" src="">
        </li>
      </ul>
    </li>
    <li>
      <ul>
        <li>
          <img id="it1_3" class="top" src="">
          <img id="it2_3" class="top" src="">
        </li>
        <li>
          <img id="ib1_3" class="bot" src="">
          <img id="ib2_3" class="bot" src="">
        </li>
       </ul>
    </li>
    </ul></li>
  <li id="clin_2">:</li>
  <li>
   <ul>
    <li>
      <ul>
        <li>
        <img id="it1_2" class="top" src="">
        <img id="it2_2" class="top" src="">
        </li>
        <li>
        <img id="ib1_2" class="bot" src="">
        <img id="ib2_2" class="bot" src="">
        </li>
      </ul>
    </li>
    <li>
      <ul>
        <li>
        <img id="it1_1" class="top" src="">
        <img id="it1_2" class="top" src="">
        </li>
        <li>
        <img id="it1_1" class="top" src="">
        <img id="ib1_2" class="bot" src="">
        </li>
       </ul>
    </li>
    </ul>
  </li>
</ul>

CSS

body {
  font-family: Helvetica;
  background-color: #20262e;
}

ul.c {

  display: grid;
  grid-template-columns: auto 5% auto 5% auto;
  width:90%;
  margin:0 auto;
  position: absolute;
  left : 5%;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

li {
  border-radius: 3px;
  font-size: 14px;
  text-align:center;
  padding:0;
  margin:0;
}

.info {
  text-align: center;
  font-size: 13px;
  padding-top: 20px;
  color: #fff;
}
ul :nth-child(2) {
//  background-color: lime;
 // width:50px;
}
ul li ul{
    display: grid;
  grid-template-columns: auto  auto;
  padding:0;
  margin:0;
}
ul li ul li ul{
    display: grid;
  grid-template-columns: auto ;
  padding:0;
  margin:0;
}
ul li ul li ul li{
   //padding:5px;
   position:relative;
}

ul li ul li ul {

//    display: inline-block;
 //   height: 166px;
 //   width: 71px;
    padding: 5px;
    border: solid 1px #4d4d4d;
    border-radius: 15px;
    background: #3a3939;
}
ul li ul li ul li img.top{
  height:calc(100vh/3);
  width: 95%;
 // position: absolute;
  transform-origin: bottom;
  transform-style: preserve-3d;
  z-index: 0;
  border-radius: 15px 15px 0 0;
  border: solid 3px #4d4d4d;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  overflow: hidden;
  color: rgba(255,255,255,1);
  text-align: center;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  background: -webkit-linear-gradient(90deg, #404044 0, #1b1b1e 100%);
  background: -moz-linear-gradient(0deg, #404044 0, #1b1b1e 100%);
  background: linear-gradient(0deg, #404044 0, #1b1b1e 100%);
  background-position: 50% 50%;
  -webkit-background-origin: padding-box;
  background-origin: padding-box;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-background-size: auto auto;
  background-size: auto auto;
  -webkit-box-shadow: 0 0 2px 1px rgba(0,0,0,0.5) inset, 1px 1px 0 0 rgba(0,0,0,0.5) inset, 0 0 14px 2px rgba(0,0,0,0.5) inset;
 ...