• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ブラウザによってテーブルのセルの高さが変わる)

ブラウザによってテーブルのセルの高さが変わる

このQ&Aのポイント
  • テーブルを使用して表を作っていると、ブラウザによってセルの高さが異なることがあります。
  • 特にChromeやFirefoxでは、セルの高さに指定した値が反映されずに崩れてしまうことがあります。
  • この問題を解決するためには、CSSの設定を調整する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.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>

hit-machine
質問者

お礼

まだまだ初心者なもので、 カスケーディングや詳細度という言葉は初めて知りました。 もっと勉強しようと思います。 ありがとうございました!

その他の回答 (2)

  • SortaNerd
  • ベストアンサー率43% (1185/2748)
回答No.2

3つのthに同じ高さを指定しているのですから同じ高さになって不思議はありません。 table.hoge th { height: 22px; } 3つ目だけ高さを変えたいのなら、3つ目だけ別の指定にすればよいでしょう。

hit-machine
質問者

お礼

ご回答ありがとうございます。 ここだったんですね、やってみます!

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.1

あらゆるHTMLにおいて、ピクセルで数値を指定したい場合は "1000" ではなく、1000px と書く方が確実ですよ。(引用符は不要) この場合、CSSでは正しく書いていますが、HTMLの方の"184"が優先されているのでしょう。

hit-machine
質問者

お礼

ご回答ありがとうございます。 px表記にしても、HTMLの方の記述を消してみてもダメでした。。 3つの<tr>が全部同じ高さになっています。。。