質問: 結合セルがあるテーブルに対して、CSSセレクタで列指定してスタイルを変えたいです。 その際、以下の対応方法以外で実現したいです。 * JavaScript, JSPなどで動的にTableを作る ⇒ すでにHTMLのみで作られているので。 * 人口列や地域列のtd要素にクラスを付与する ⇒ 行数が多いのでクラスを付与するのが面倒だから。 属性セレクタや否定擬似要素などを使えばうまくいく気がするのですが... よい方法があれば教えてください。 ### 追記 背景色設定ならcol/colgroup要素で設定できるんですけどね~ 左寄せ/右寄せなどは設定できないんです。 http://www.tohoho-web.com/html/colgroup.htm http://www.w3.org/TR/CSS21/tables.html#columns https://developer.mozilla.org/ja/docs/Web/HTML/Element/col
回答: おそらく、Selectors Level 4 の `:nth-column()` が求める擬似クラスですが、残念ながら実装しているブラウザはなさそうです。 * Selectors Level 4 (日本語訳) kei344 さんが提案するように「人口」が最後の要素かつ横の結合セルでない前提なら `:last-child` が使えます。 条件に合わない場合はJavaScriptで期待するHTMLを生成するジェネレータを作るぐらいでしょうか。 1. `table.tBodies[0].rows[i].cells[j]` を辿って対象の要素に `class="population"` を付与する 2. `table.outerHTML` を出力 3. 出力したHTMLをhtml文書んコピー&ペースト Re: yuji38kwmt さん