Search code examples
javascripthtmlcssresponsive-designcss-tables

Tables not looking uniform on different screen size


I have a text-filled table divided into 4 columns (as shown in the picture below) which displays all the sub-categories (level 2 and level 3 sub-categories). This table does not look uniform some columns appear longer than others) on different screen sizes (different laptop sizes) and on different devices even after i attempted to make it responsive using @media queries. Is there a way to deal with this, so that all the columns always look uniform?

I have used media

.tblcol {
  width: 22%;
  text-align: left;
  font-size: 11px;
  font-family: "Palatino Linotype";
}

.heading {
  background-color: #790102;
  color: #ffffff;
  padding: 2px;
}

a {
  text-decoration: none;
}

.slogan {
  color: #790102;
  letter-spacing: 8px;
  font-size: 18px
}

@media(max-width:1023px) {
  .categoryTable1 {
    width: 500px;
  }
}

@media(min-width:1024px) and (max-width:1010px) {
  .categoryTable1 {
    width: 680px;
  }
}

@media(min-width:1011px) and (max-width:1300px) {
  .categoryTable1 {
    width: 740px;
  }
}

@media(min-width:1224px) and (max-width:1400px) {
  .categoryTable1 {
    width: 850px;
  }
}

@media(min-width:1410px) {
  .categoryTable1 {
    width: 970px;
  }
}
<table class="categoryTable1">
  <tr>
    <td colspan="4">
      <p style="text-align:center" class="slogan"> 1500+ ITEMS * 45 PRODUCTS * 14 CATEGORIES </p>
    </td>
  </tr>

  <tr>
    <td width="25%" class="tblcol">

      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">    Bespoke Tailoring for Men    </a><br>
      <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">  Made to Measure for Juniors      </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
    </td>


    <td width="25%" class="tblcol">

      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">    Bespoke Tailoring for Men    </a><br>
      <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">  Made to Measure for Juniors      </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>

    </td>


    <td width="25%" class="tblcol">

      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">    Bespoke Tailoring for Men    </a><br>
      <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">  Made to Measure for Juniors      </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
    </td>


    <td width="25%" class="tblcol">

      <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self"> <span class="heading"> BESPOKE CUSTOM MADE SERVICES  </span> </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">   Bespoke Tailoring for Women     </a><br>
      <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">    Bespoke Tailoring for Men    </a><br>
      <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">  Made to Measure for Juniors      </a><br>
    </td>
  </tr>
</table>

queries to update the table width to fit the size as required. But when the table width is reduced; the 4 columns are non-uniform: some much larger than the others


Solution

  • .slogan {
      color: #790102;
      letter-spacing: 8px;
      font-size: 18px
    }
    
    .heading {
      background-color: #790102;
      color: #ffffff;
      padding: 2px;
    }
    
    a {
      text-decoration: none;
    }
    
    table {
      border-collapse: collapse;
      width: 100%;
    }
    
    td,
    th {
      text-align: left;
      padding: 8px;
      font-size: 11px;
      font-family: "Palatino Linotype";
    }
    <table class="categoryTable1">
    
      <tr>
        <td colspan="4">
          <p style="text-align:center" class="slogan">1500+ ITEMS * 45 PRODUCTS * 14 CATEGORIES</p>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">Bespoke Tailoring for Men</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">Bespoke Tailoring for Men</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">Bespoke Tailoring for Men</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-men/ " target="_self">Bespoke Tailoring for Men</a>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">Made to Measure for Juniors</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">Made to Measure for Juniors</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">Made to Measure for Juniors</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/made-to-measure-for-juniors/ " target="_self">Made to Measure for Juniors</a>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-custom-made-services/ " target="_self">
            <span class="heading">BESPOKE CUSTOM MADE SERVICES</span>
          </a>
        </td>
      </tr>
    
      <tr>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
        <td>
          <a href="https://www.chinesefashionstyle.com/bespoke-tailoring-for-women/ " target="_self">Bespoke Tailoring for Women</a>
        </td>
      </tr>
    </table>

    Now all the columns will look uniform. The HTML element defines a row of cells in a table. The row's cells can then be established using a mix of (data cell) and (header cell) elements. You could learn more about HTML tables using below link Click here