---
# System prepended metadata

title: Table / 表格
tags: [HyUI]

---

# Table / 表格
###### tags: `HyUI`
:::warning
檔案名稱：sass / modual / <span class="focus2">_table.scss</span>
:::
1. **<span class="focus">[基本表格樣式](#item-1):arrow_down:</span>**
2. **<span class="focus">[支援響應式條列式重新排版表格](#item-2):arrow_down:</span>**
3. **<span class="focus">[固定左邊表頭，資料可水平捲動](#item-3):arrow_down:</span>**

---



## <span style="font-size:2em;margin-right:.2em;color:#21BAFF;" id="item-1">01. </span>基本表格樣式

<iframe height="300" style="width: 100%;" scrolling="no" title="基本表格樣式" src="https://codepen.io/u00hyui/embed/PomoQLj?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/PomoQLj">
  基本表格樣式</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>

```html=
<table>
  <thead>
    <tr>
      <th>...</th>
      <th>...</th>
      <th>...</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>...</td>
      <td>...</td>
      <td>...</td>
    </tr>
  </tbody>
</table>
```

### td有hover效果

table加上<span class="focus3">table_hover</span>的classname

<iframe height="300" style="width: 100%;" scrolling="no" title="基本表格樣式 - td有hover效果" src="https://codepen.io/u00hyui/embed/mdmdLgN?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/mdmdLgN">
  基本表格樣式 - td有hover效果</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>

```html=
<table class="table_hover">
```

### td有間隔不同背景色

table加上<span class="focus3">table_sprite</span>的classname

<iframe height="350" style="width: 100%;" scrolling="no" title="基本表格樣式 - td有間隔不同背景色" src="https://codepen.io/u00hyui/embed/zYwYJOo?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/zYwYJOo">
  基本表格樣式 - td有間隔不同背景色</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>


```html=
<table class="table_sprite">
```

### 範例：一般內容式表格

<iframe height="300" style="width: 100%;" scrolling="no" title="範例：一般內容式表格" src="https://codepen.io/u00hyui/embed/poPoOvv?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/poPoOvv">
  範例：一般內容式表格</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>

--- 

## <span style="font-size:2em;margin-right:.2em;color:#21BAFF;" id="item-2">02. </span>支援響應式條列式重新排版表格

使用<span class="focus3">before</span>取代<span class="focus3">th</span>，在<span class="focus3">table</span>上一層使用<span class="focus">**`<div class="table_list"></div>`**</span>將<span class="focus3">table</span>包覆住，即可於手機版重新排版表格樣式。

<iframe height="500" style="width: 100%;" scrolling="no" title="響應式條列式重新排版表格" src="https://codepen.io/u00hyui/embed/eYWYLNz?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/eYWYLNz">
  響應式條列式重新排版表格</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>

```html=
<div class="table_list">
    <table>
      <thead>
        <tr>
          <th>編號</th>
          <th>據點</th>
          <th>地址</th>
          <th>電話</th>
          <th>傳真</th>
          <th>信箱</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>01</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
        </tr>
        <tr>
          <td>02</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
        </tr>
        <tr>
          <td>03</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
          <td>...</td>
        </tr>
      </tbody>
    </table>
</div>
```

## <span style="font-size:2em;margin-right:.2em;color:#21BAFF;" id="item-3">03. </span>固定左邊表頭，資料可水平捲動

適用於左側有<span class="focus3">th</span>的資料，在手機版可做成固定<span class="focus3">th</span>，其餘td可橫向水平捲動，在<span class="focus3">table</span>最外層請用<span class="focus3">fix_th_tablediv</span>包覆。

<iframe height="300" style="width: 100%;" scrolling="no" title="固定左邊表頭，資料可水平捲動表格" src="https://codepen.io/u00hyui/embed/GRmRXqw?defaultTab=html%2Cresult&theme-id=dark" frameborder="no" loading="lazy" allowtransparency="true" allowfullscreen="true">
  See the Pen <a href="https://codepen.io/u00hyui/pen/GRmRXqw">
  固定左邊表頭，資料可水平捲動表格</a> by u00hyui (<a href="https://codepen.io/u00hyui">@u00hyui</a>)
  on <a href="https://codepen.io">CodePen</a>.
</iframe>

```html=
<div class="fix_th_table">
    <table>
        <tr>
            <th>th 1</th>
            <th>th 2</th>
            <th>th 3</th>
            <th>th 4</th>
            <th>th 5</th>
            <th>th 6</th>
        </tr>
        <tr>
            <th>th A</th>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
        </tr>
        <tr>
            <th>th B</th>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
        </tr>
        <tr>
            <th>th C</th>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
            <td>td 資料</td>
        </tr>
    </table>
</div>
```
## JQuery設定:round_pushpin:
按照專案經驗，在客戶資料上稿常常出現表格會撐出畫面或是破圖的情況，這部分可以使用預設提供之JQuery設定，讓文章內容頁面的表格自動產生響應式橫向捲軸，以防止畫面跑版。<br/>
目前判斷如果<span class="focus3">table</span>父層沒有<span class="focus3">.tablie_list</span>或是<span class="focus3">.fix_th_table</span>的table，一律在<span class="focus">寬度小於545px</span>時，<span class="focus3">table</span>套用<span class="focus3">scroltable();</span>的外掛
```javascript=
/*------------------------------------*/
///////table 加上響應式 scroltable-wrapper/////
//*------------------------------------*/
$('table').each(function(index, el) {
    //判斷沒有table_list
    if ($(this).parents('.table_list').length == 0 && $(this).parents('.fix_th_table').length == 0) {
        $(this).scroltable();
    }
});
// tablearrow arrow，為了設定箭頭
$('.scroltable-nav-left').append('<div class="tablearrow_left" style="display:none;"></div>');
$('.scroltable-nav-right').append('<div class="tablearrow_right"  style="display:none;"></div>');
// 固定版頭
function table_Arrow() {
    if ($('table').parents('.table_list').length == 0 && $('table').parents('.fix_th_table').length == 0) {
        if ($('.scroltable-wrapper').length > 0) {
            var stickyArrowTop = Math.floor($('.scroltable-wrapper').offset().top),
                thisScroll = Math.floor($(this).scrollTop());
            if (thisScroll > stickyArrowTop - 230) {
                $('.scroltable-wrapper .tablearrow_left').css('display', 'block');
                $('.scroltable-wrapper .tablearrow_left').css({ "top": thisScroll - stickyArrowTop + 220 }, 100, 'easeOutQuint');
                $('.scroltable-wrapper .tablearrow_right').css('display', 'block');
                $('.scroltable-wrapper .tablearrow_right').css({ "top": thisScroll - stickyArrowTop + 220 }, 100, 'easeOutQuint');
            } else {
                $('.scroltable-wrapper .tablearrow_left').css({
                    top: '10px',
                    display: 'none'
                });
                $('.scroltable-wrapper .tablearrow_right').css({
                    top: '10px',
                    display: 'none'
                });
            }
        }
    }
}
$(window).scroll(function(event) {
    table_Arrow();
});
// /*------------------------------------*/
// //////////table 加上 data-title//////////
// /*------------------------------------*/
function rwdTable() {
    $('.table_list').find('table').each(function() {
        var $row = $(this).find('tr');
        rowCount = $row.length;
        for (var n = 1; n <= rowCount; n++) {
            $(this).find('th').each(function(index) {
                var thText = $(this).text();
                $row.eq(n).find('td').eq(index).attr('data-title', thText);
            });
        }
    });
}
rwdTable();
```

<style>
/* 顏色設定 <span class="blue"></span>*/

.title{
    font-size: 26px; color: #fff;
    background:#00469C; display:inline-block;
    padding: 10px 20px 10px 30px;
    border-radius: 4px;
}
.sub-title{ font-size: 20px; color: #00469C; }
.box{
    padding: 1em 2em;
    background:#f5f5f5;
    margin: 10px 0;
    border: solid 1px #aaa;
}

.focus { color: #B20050; }
.focus2 {
    color: #222; 
    border: solid 1px #c8c8c8;
    display: inline-block;
    padding: 2px 10px; margin: 0 4px;
    border-radius: 4px;
    background: #fff;
}
.focus3{
    display: inline-block;
    background: #f1f1f1;
    padding: 0.1em 0.8em;
    border: 1px solid #f1f1f1;
    margin: 0px 5px;
    line-height: 1.35em;
    border-radius: 4px;
    color: #B20050;
    margin-top: 2px;
    font-size: 15px;
    font-weight: bold;
}
.link{ font-size: 20px; color: #B20050;}
.ui-infobar{ max-width:95%; }
.markdown-body{ max-width:95%; }
</style>