質問: テーブルのセル幅を下記のようにCSSで指定したのですが、 GridView1を表示する際、Nameセルの幅がGridView2のCSSで上書きされ、 30%になってしまいます。後に書いてあるCSSが有効になります。 異なるテーブルで同じクラス名を使用していても、テーブル毎に それぞれセル幅を適用させたいのです。 CSSでテーブルのクラス名を指定してから、TDを指定すれば、 親子関係となって、そのテーブルにのみ適用されるイメージだったのですが、 指定方法が違うのでしょうか? ■test.html ``` あああああ 090-1234-1234 いいいいい 080-1234-1234 ``` ■style.css ``` table.grid1 th.name, td.name { width:40%; } table.grid2 th.name, td.name { width:30%; } table.grid1 th.tel, td.tel { width:60%; } table.grid2 th.tel, td.tel { width:70%; } ```
回答: style.cssの書き方に問題があります。カンマで複数セレクタを指定する書き方を見直してください。 ``` table.grid1 th.name, table.grid1 td.name { width:40%; } table.grid2 th.name, table.grid2 td.name { width:30%; } table.grid1 th.tel, table.grid1 td.tel { width:60%; } table.grid2 th.tel, table.grid2 td.tel { width:70%; } ``` 余談ですが、せっかくなので `border="1" width="800"` の記述もスタイルシートに書かれると良いと思います。