documents:proglang:js:web-002
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン | |||
| documents:proglang:js:web-002 [2026/05/12 23:02] – ↷ documents:proglang:web-002 から documents:proglang:js:web-002 へページを移動しました。 k896951 | documents:proglang:js:web-002 [2026/05/12 23:10] (現在) – k896951 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | ====== 002.HTMLのテーブルにスクロールバーをつける ====== | ||
| + | 2016/03/03 \\ | ||
| + | 雛型用に作成。 | ||
| + | |||
| + | |||
| + | ===== やりたい事 ===== | ||
| + | |||
| + | 以下のようなスクロールバー表示を試みる。もちろんスクロール可能。 | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== サンプル ===== | ||
| + | <php> | ||
| + | echo '< | ||
| + | echo file_get_contents("/ | ||
| + | echo "</ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | <table id=" | ||
| + | < | ||
| + | <tr> | ||
| + | <th class=" | ||
| + | <th class=" | ||
| + | </tr> | ||
| + | </ | ||
| + | < | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== サンプルソース ===== | ||
| + | |||
| + | ^ HTML ^ CSS ^ | ||
| + | |<code html sample.html> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <meta charset=" | ||
| + | <link rel=" | ||
| + | </ | ||
| + | < | ||
| + | <table id=" | ||
| + | < | ||
| + | <tr> | ||
| + | <th class=" | ||
| + | <th class=" | ||
| + | </tr> | ||
| + | </ | ||
| + | < | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | <td class=" | ||
| + | </tr> | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | table{ | ||
| + | border-collapse: | ||
| + | border-spacing: | ||
| + | } | ||
| + | thead{ | ||
| + | width: 100%; | ||
| + | display: block; | ||
| + | } | ||
| + | tbody{ | ||
| + | width: 100%; | ||
| + | height: 11em; | ||
| + | display: block; | ||
| + | overflow-y: scroll; | ||
| + | } | ||
| + | th{ | ||
| + | background-color: | ||
| + | } | ||
| + | th, td { | ||
| + | height: 1em; | ||
| + | padding: 2px; | ||
| + | border: 1px solid #666; | ||
| + | white-space: | ||
| + | overflow: hidden; | ||
| + | text-overflow: | ||
| + | } | ||
| + | |||
| + | .thc1, .tdc1 { | ||
| + | min-width: 3em; | ||
| + | max-width: 3em; | ||
| + | } | ||
| + | .thc2 { | ||
| + | min-width: calc(15em + 5px); | ||
| + | max-width: calc(15em + 5px); | ||
| + | } | ||
| + | .tdc2 { | ||
| + | min-width: 10em; | ||
| + | max-width: 10em; | ||
| + | } | ||
| + | .tdc3 { | ||
| + | min-width: 5em; | ||
| + | max-width: 5em; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ====== とりあえず判明している事 ====== | ||
| + | |||
| + | thead と tbody は display: | ||
| + | colgroup, col による幅統一も display: | ||
| + | |||
| + | そのため、CSS で各 th, td にサイズを指定することになる。 | ||
| + | |||
| + | th, td の横幅を width:xxx で指定しても thead と tbody で一致しない。これは th, td の中にあるコンテンツの幅に影響されてしまうため。\\ | ||
| + | 幅の変動を防ぐために、th, | ||
| + | |||
| + | クラス thc2 で tdc2 と tdc3 の幅の合計の他、5pxを足し込んでいるのは、td を跨いで指定するので 10em + 5em の他、ボーダーやパディングの幅で影響が出るため。 | ||
| + | |||
| + | ^ セル | ||
| + | | thc2 | 罫線1px + パディング2px + 幅15em + パディング2px + 罫線1px | ||
| + | | tdc2 + tdc3 | 罫線1px + パディング2px + 幅10em + パディング2px + 罫線1px + 罫線1px + パディング2px + 幅5em + パディング2px + 罫線1px | | ||
| + | |||
| + | table に border-collapse: | ||
| + | |||
| + | ^ セル | ||
| + | | thc2 | 罫線1px + パディング2px + 幅15em + パディング2px + 罫線1px | ||
| + | | tdc2 + tdc3 | 罫線1px + パディング2px + 幅10em + パディング2px + 罫線1px + パディング2px + 幅5em + パディング2px + 罫線1px | | ||
| + | |||
| + | になり、パディング2px + 罫線1px + パディング2px = 5px なので、 10em + 5em の他 5px の幅を足し込まねばならない。 | ||
| + | |||
| + | |||
| + | {{tag> 技術資料 www HTML CSS }} | ||
documents/proglang/js/web-002.txt · 最終更新: by k896951
