- ベストアンサー
ブラウザによってテーブルのセルの高さが変わる
- テーブルを使用して表を作っていると、ブラウザによってセルの高さが異なることがあります。
- 特にChromeやFirefoxでは、セルの高さに指定した値が反映されずに崩れてしまうことがあります。
- この問題を解決するためには、CSSの設定を調整する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
スタイルシートでの指定・・ table.hoge th {height: 22px; この場合は詳細度が[0,0,1,2]ですね。一方ブラウザの属性での指定(height="140")の詳細度は0です。 当然、属性での指定は上書きされます。 ・・・・height="140" 自体は正しいです。単位をつけてはなりません。 ⇒height = length [CN] ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#adef-height-TH ) ⇒6.4.3 セレクタの詳細度を計算する ( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/cascade.html#specificity ) ⇒6.4.4 非CSSの見栄えヒントの優先順位 ( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/cascade.html#preshint ) なお、 <table summary="目次" border="1"> <tbody><!-- ひとつしかないときはなくてよい --> <tr> <td rowspan="3"><img src="img/001.gif" width="180" height="184" alt=""/></td> <th abbr="項目1">項目1</th> <td>文章1</td> </tr> <tr> <th>項目2</th><td>文章2</td> </tr> <tr> <th>項目3</th> <td>文章3</td> </tr> </tr> </tbody> </table> [スタイルシート] table[summary="目次"]{ border-collapse:separate; background-color: rgba(50,50,50,0.3); width: 640px; height: 184px; margin: 0 auto 18px; padding: 10px; border-spacing:5px 10px; } table[summary="目次"] th{ height: 22px; background-color: #7ac0c9; width: 80px; } table[summary="目次"] td { padding: 0 20px; } カスケーディングや詳細度は、カスケーディングスタイルシートの命ともいえるものです。プロパティより先に確実に身につけないとなりません。 5 セレクタ( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/selector.html ) 6 プロパティ値とカスケーディング、継承の割り当て( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/cascade.html ) なお、こちらのほうが良いと思う。 <dl> <dt>項目1</dt> <dd>文章1</dd> <dt>項目2</dt> <dd>文章2</dd> <dt>項目3</dt> <dd>文章3</dd> </dl>
その他の回答 (2)
- SortaNerd
- ベストアンサー率43% (1185/2748)
3つのthに同じ高さを指定しているのですから同じ高さになって不思議はありません。 table.hoge th { height: 22px; } 3つ目だけ高さを変えたいのなら、3つ目だけ別の指定にすればよいでしょう。
お礼
ご回答ありがとうございます。 ここだったんですね、やってみます!
- pasocom
- ベストアンサー率41% (3584/8637)
あらゆるHTMLにおいて、ピクセルで数値を指定したい場合は "1000" ではなく、1000px と書く方が確実ですよ。(引用符は不要) この場合、CSSでは正しく書いていますが、HTMLの方の"184"が優先されているのでしょう。
お礼
ご回答ありがとうございます。 px表記にしても、HTMLの方の記述を消してみてもダメでした。。 3つの<tr>が全部同じ高さになっています。。。
お礼
まだまだ初心者なもので、 カスケーディングや詳細度という言葉は初めて知りました。 もっと勉強しようと思います。 ありがとうございました!