しーぼーデザイン since 2003

blog ブログ

レスポンシブデザインでのtableの対処方法#2

2015.10.01

前回、スマホサイトでのtableの対処方法をご紹介しましたが、最上部X軸のthが消えてしまって、何の表だかわからないという問題が残ってしまいました。

確かに、表が更に複雑化してきた場合、何が何だかわからなくなってしまうなぁ…と。

そんな時の小技です。

何と、data-label属性を使って、セル内に強引に表示させてしまうというもの。

現在、お客様のサイトで実装して使えたので、後日、当サイトにも組み込んで、スクリーンショットを掲載しようと思います。

今回はとりあえず、ソースのみ先行で掲載します。

htmlソース

<table class="sample">
<thead>
<tr>
<th>ケース</th>
<th>Aパターン</th>
<th>Bパターン</th>
<th>Cパターン</th>
</tr>
</thead>
<tbody>
<tr>
<td data-label="ケース">ケース01</td>
<td data-label="Aパターン">あいうえお</td>
<td data-label="Bパターン">かきくけこ</td>
<td data-label="Cパターン">さしすせそ</td>
</tr>
<tr>
<td data-label="ケース">ケース02</td>
<td?data-label="Aパターン">たちつてと</td>
<td data-label="Bパターン">なにぬねの</td>
<td data-label="Cパターン">はひふへほ</td>
</tr>
<tr>
<td data-label="ケース">ケース03</td>
<td?data-label="Aパターン">まみむめも</td>
<td?data-label="Bパターン">やゆよ</td>
<td?data-label="Cパターン">らりるれろ</td>
</tr>
</tbody>
</table>

CSS

table.sample{
font-size: 14px;
font-size: 1.4rem;
line-height:1.3em;
font-family: Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
width:98%;
margin-left:auto;
margin-right:auto;
margin-top:10px;
margin-bottom:10px;
border-collapse:collapse;
table-layout: fixed;
}

table.sample td, table.sample th{
border:1px solid #666666;
}

table.sample td{
padding:1%;
text-align:center;
}

table.sample thead th{
padding:1%;
text-align:center;
background-color:#DDFFCC;
letter-spacing:1px;
}

/*↓スマホ時の表示変更*/

@media screen and (max-width: 480px) {

table.sample{
font-size:12px;
font-size:1.2rem;
line-height:1.2em;
border:0;
}

table.sample thead{
display:none;
}

table.sample tr{
margin-bottom:10px;
display:block;
border-bottom:2px solid #ddd;
}

table.sample td{
display:block;
text-align:right;
font-size:13px;
border-bottom:1px dotted #000;
}

table.sample td:last-child{
border-bottom:0;
}

table.sample td:before {
content:attr(data-label);
float:left;
font-weight: bold;
}

ポイントはdata-label。

これは使えそうだ!

関連記事

Archive

Category

Recent Entry