Bootstrap 的 RWD 表格

Bootstrap本身有表格!!但是不是我想要的表格RWD,所以自己寫了一個

Bootstrap本身有表格!!但是不是我想要的表格RWD,所以自己寫了一個,習慣用堆疊的方式來寫CSS這樣可以節省很多的code

當然還是會用bootstrap他原本的標籤,預設要寫的RWD的表格為.table-rwd,之後再td 後面加上"data-th"標籤

html如下:

<table class="table table-striped table-bordered table-rwd">
 <tr class="tr-only-hide">
  <th>序號</th>
  <th>產品名稱</th>
  <th>售價</th>
  <th>其他</th>
 </tr>
 <tr>
  <td data-th="序號">1</td>
  <td data-th="產品名稱">產品名稱產品名稱產品名稱</td>
  <td data-th="售價">500</td>
  <td data-th="其他">其他文字內容其他文字內容其他文字內容其他文字內容其他文字內容其他文字內容</td>
 </tr>
  <tr>
  <td data-th="序號">2</td>
  <td data-th="產品名稱">產品名稱產品名稱產品名稱</td>
  <td data-th="售價">500</td>
  <td data-th="其他">其他文字內容其他文字內容其他文字內容其他文字內容其他文字內容其他文字內容</td>
 </tr>
</table>

最重要的還是CSS的改寫跟新增,

CSS 如下:

/*額外做顏色,沒有什麼意義*/
tr.tr-only-hide {color: #D20B2A;}

@media (max-width: 736px) {
  .table-rwd{min-width: 100%;}
  /*針對tr去做隱藏*/
  tr.tr-only-hide {display: none !important;}
  /*讓tr變成區塊主要讓他有個區塊*/
  .table-rwd tr{
    display: block;
    border: 1px solid #ddd;
    margin-top: 5px;
  }
  .table-rwd td {
    text-align: left;
    font-size: 15px;
    overflow: hidden;
    width: 100%;
    display: block;
	}
	.table-rwd td:before {
    /*最重要的就是這串*/
    content: attr(data-th) " : ";
    /*最重要的就是這串*/
    display: inline-block;
    text-transform: uppercase;
    font-weight: bold;
	  margin-right: 10px;
    color: #D20B2A;
  }
  /*當RWD縮小的時候.table-bordered 會有兩條線,所以針對.table-bordered去做修正*/
  .table-rwd.table-bordered td,.table-rwd.table-bordered th,.table-rwd.table-bordered{border:0;}
  
}

 

演示:

點選看效果