PCサイトとスマホサイトで違うテーブルデザイン
2013-04-17
テーブルに情報が多すぎて、スマホサイトでは、幅が足りない・・・
そんな方に、レスポンシブデザインのCSSで、便利な技がありました。
table, thead, tbody, th, td, tr { display: block; } /* Hide table headers (but not display: none;, for accessibility) */ thead tr { position: absolute; top: -9999px; left: -9999px; } tr { border: 1px solid #ccc; } td { /* Behave like a "row" */ border: none; border-bottom: 1px solid #eee; position: relative; padding-left: 50%; } td:before { /* Now like a table header */ position: absolute; /* Top/left values mimic padding */ top: 6px; left: 6px; width: 45%; padding-right: 10px; white-space: nowrap; } /* Label the data */ td:nth-of-type(1):before { content: "First Name"; } td:nth-of-type(2):before { content: "Last Name"; } td:nth-of-type(3):before { content: "Job Title"; } td:nth-of-type(4):before { content: "Favorite Color"; } td:nth-of-type(5):before { content: "Wars of Trek?"; } td:nth-of-type(6):before { content: "Porn Name"; } td:nth-of-type(7):before { content: "Date of Birth"; } td:nth-of-type(8):before { content: "Dream Vacation City"; } td:nth-of-type(9):before { content: "GPA"; } td:nth-of-type(10):before { content: "Arbitrary Data"; } }
テーブルの属性をtable-cellなどから、blockに変換。
5行目でテーブルヘッダを画面の外へ追いやって、22行目でテーブル見出し
36行目からその見出し文字を設定。というところでしょうか。
テーブルでHTMLを組むと、固定概念的に表組みだけという感覚になりますが、
いわば一対のHTMLですからね。こういうこともできるのです。
こういうところが、WEB制作の面白いところでしょうね。
参考サイト様、ありがとうございました。