HTML備忘録 / 記述メモ3
- 2003年7月18日:作成
- 2018年10月26日:全面改訂
表 <table>
<table>はHTML5でsummary属性以外は廃止され、summary属性も必須ではなく、状況しだいでは<figure>と組合わせて<p>のコメントで代替する事も認められる。
表用のCSSはほとんど詰められていないが、今回はHTML4.01時代のような最後の1pixel合わせはしない。人間が丸くなったのか疲れているのかそれは謎であるが、素のままで十分に美しいと感じる (^_^;)
なお、廃止された属性の中でnowrap(折返し禁止)は取敢えず必要なのでclass="nowrap"を作り対応する。
2018.10.31:Opera 12はCSSの罫線に非対応、表示されない。
2018.11.04:これ↑は勘違い。新丸ゴシックを適応するとOpera 12は新丸ゴで表示できず、さらに罫線が消失する。ますますWebフォントが使い辛くなってきた (-"-)
<table style="width:**px">
デフォルトのテーブル。中央表示、幅はコンテンツに合わせるかstyle="width:**px"で直接指定、本文幅一杯なら100%で指定する。
table {text-align:center; border-collapse: collapse; border:2px solid #808080; padding:0px; margin:0 auto; margin-bottom:1.5em;} caption {font-weight:nomal; color:#00ffff; text-align:left; margin-bottom:5px;} th {border:1px solid #808080; background-color:#008080; padding:5px;} td {border:1px solid #808080; padding:5px;} th.nowrap,td.nowrap {white-space: nowrap;}
<th>見出し1 | <th>見出し2 | <th>見出し3 | <th>見出し4 |
---|---|---|---|
<td>項目1-1 | <td>項目1-2 | <td>項目1-3 | <td>項目1-4 |
<td>項目2-1 | <td>項目2-2 | <td>項目2-3 | <td>項目2-4 |
<td>項目3-1 | <td>項目3-2 | <td>項目3-3 | <td>項目3-4 |
<th>見出し1 | <th>見出し2 | <th>見出し3 | <th>見出し4 |
---|---|---|---|
<td>項目1-1 | <td>項目1-2 | <td>項目1-3 | <td>項目1-4 |
<td>項目2-1 | <td>項目2-2 | <td>項目2-3 | <td>項目2-4 折返し標準のまま |
<td>項目3-1 | <td class="nowrap">項目3-2 | <td>項目3-3 | <td>項目3-4 |
<table class="right" style="width:**px">
右寄せの小さなテーブル。幅はコンテンツに合わせるかstyle="width:**px"で直接指定する(上限400pxを目安)。
table.right {float:right; text-align:center; border-collapse:collapse; border:2px solid #808080; padding:0px; margin:0.3em 0em 0em 1em;} margin:0.3emは<p>と上を揃えるため(トライアンドエラーで決めた)
<th>見出し1 | <th>見出し2 | <th>見出し3 |
---|---|---|
<td>項目1-1 | <td>項目1-2 | <td>項目1-3 |
<td>項目2-1 | <td>項目2-2 | <td>項目2-3 |
<td>項目3-1 | <td>項目3-2 | <td>項目3-3 |
後で出てくる画像と同じで、個人的に文章中の挿入物はこの位置が一番落ち着く。
確かにCSSレイアウトは便利だが、様々なパターンを片っ端から事前に準備するのもどうかと思う。テーブル幅のように、少数例外にはタグ内直接記入で対応するのが賢い気がする。この2パターンがあれば十分だ、と書きながら自分の<table>使用頻度なら全て直接記入でも良かった事に気が付いてしまった (^_^;)
リスト <li> <ul> <ol> <dl>
HTML5で<ol>で一二三やイロハの様な和風序数も追加されたが、Internet Explorer 11とOpera 12が対応しない。古すぎるOperaは仕方がないと思うが、Internet Explorer非対応は問題である。が、幸い日本語的話題を扱わない「時代おくれ」では和風序数を使う予定はないので無問題。
行間を本文に合わせ175%とし、定義リスト<dl>の<dd>が下がり過ぎるので2emを指定している。
ul, ol, dl, li {line-height:175%;} dd {margin-left: 2em;}
- <ul>、<li>は序列のないリストを表す
- HTML5でtype属性(マーカー)は廃止されたので、CSSで指定する
- このサンプルはマーカー未指定(デフォルト disc/円盤)
- <ol>、<li>は序列のあるリストを表す
- HTML5でtype属性(マーカー)は廃止されたので、CSSで指定する
- このサンプルはマーカー未指定(デフォルト decimal/算用数字)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このように表自身にsummary的要素を含めるのは禁じ手だと思うが、<summary>があまりにも使いにくいもので・・・ (^_^;) なぜか<ul>でも<ol>でも結果は同じで、非対応の場合には<ul>はdisk(円盤)が<ol>は数字が表示される。なお、この<table>と<ul>は(二度と使わないと思うので)<head>~</head>のローカルのCSSで制御している。 この表は不均等であるが十分美しい。HTML4.01時代は最後の1pxcelが<table>使いのステータスだったから、均等分割に頑張ったなぁ (^^ゞ |
序列のあるlist-style-typeとvalue属性を組み合わせる事で、任意の序列を指定したり、任意の序列から始めたりできる。
- 1を指定
- 何も指定せず引き継ぐ
- 10を指定
- 5を指定
<ol style="list-style-type: lower-roman;"> <li value="1">1を指定</li> <li>何も指定せず引き継ぐ</li> <li value="10">10を指定</li> <li value="5">5を指定</li> </ol>
- <dt>定義する用語(Definition Term)
- <dd>用語の説明(Definition Description)
- <li>と組合わせ複数の意味付けも可能
- この場合の</li>が省略できるのは謎 (-"-)
- HTML 4.01からの変更点
- 特にない