• ベストアンサー

CSS line-height が効かない

下記のように<table>の行の間隔を狭める為、CSSのline-height: をつかっているのですが、 <td>の内側に<a hrefを使っているのが原因なのか、line-heightが効きません。 sample.css table td.aa { font-size : 0.8em; line-height:150%; } sample.html <table> <tr><td class="aa"><a href="http://......">ああああああああ</a> </td></tr> <tr><td class="aa"><a href="http://......">いいいいいいいい</a> </td></tr> </table> どなたかお助けください。

  • brosis
  • お礼率94% (100/106)
  • HTML
  • 回答数3
  • ありがとう数5

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

  • ベストアンサー
  • abril
  • ベストアンサー率69% (388/560)
回答No.3

ANo.1-2様のご指摘にある様に2行以上にしてみても結果が変わらない場合について。 > 下記のように<table>の行の間隔を狭める為、CSSのline-height: をつかっているのですが、 > <td>の内側に<a hrefを使っているのが原因なのか、line-heightが効きません。 内部にaタグがあるかないかは、aタグに対して150%より広いline-heightを("table td.aa"というセレクタより詳細度が高くなる様に)指定していない限りは、関係ないです。 また、td内の「行の間隔を狭める為」なのであれば、現在の様にtdに対して直接line-heightを指定する方法(無駄に入れ子を作らない)で間違ってもいません。 ただ、"line-height:150%;"というのはどちらかと言えば”割と広め”な値の様に思われます。これで「狭める」という事は、親要素のline-heightの値はもっと大きい(151%以上)のでしょうか?もしも親要素の値よりこちらが小さくなっていないのであれば結果として「狭め」られた様には見えないので。 それから、「狭め」たいのは本当にtd内の”行間”ですか?”余白”ではなく?もし余白であれば、paddingプロパティの値を調節するのが適切ですが。 提供されたCSSのソース以外の箇所からの継承関係がわかれば、現在思い通りの表示にならない原因が何かという事を突き止めやすくなります。もう少しCSSの情報を詳しく公開された方が宜しいかと。

brosis
質問者

お礼

詳しく解説してくださいましてありがとうございます。

その他の回答 (2)

noname#77303
noname#77303
回答No.2

こんにちは。 (回答)質問者さんがおっしゃる通り、line-heightは行間を調節する機能ですから、2行以上の文章があって始めて、その違いが大きく現れるものだと思います。 (根拠)質問者さんのソースをコピーして実行したところ、line-heightは無事に動作したので間違いないと思います。

brosis
質問者

お礼

回答ありがとうございます。 複数ある行(<tr>)間の間隔を狭めたいと思っています。 line-height:150%を 0.5emにしたら、私が望む結果となりました。

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.1

一行ずつだから、または150%だから分かりづらいのではないでしょうか。 <table> <tr><td class="aa"><a href="?http://......">?ああああああああ</a><br> たたたたた </td></tr> <tr><td class="aa"><a href="?http://......">?いいいいいいいい</a><br> ちちちち </td></tr> </table> として、line-height の% を300とか数値を変えてみてはどうでしょうか。 また、tdに指定するのではなく、<div class=aa>~</div> の方が確実だと思われます。

brosis
質問者

お礼

回答ありがとうございます。 参考になりました。

関連するQ&A

  • HTML、CSSについて教えてください。

    以前質問しましたが、私の準備が出来ていなくて、回答者の方にはご迷惑をお掛けしました。 改めて、以下のように質問させていただきます。よろしくお願い申し上げます。 1.縦二段、右から左へ移行は、何とか格好はつきましたが、記述に問題はないでしょうか。 2. Txtも「valign="top" align="right"」の記述したのですが、有効ではありません。記述に問題   があるのだと思いますが、色々やってみましたが、うまくいきません。  よろしくご指導いただきますよう、お願い申し上げます。 本体記述 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title>縦テーブル右から左へ</title> <meta content="text/html; charset=shift_jis" http-equiv="Content-Type"> <link href="style.css" rel="stylesheet" type="text/css"> <style type="text/css"> <!-- .vertical { writing-mode: tb-rl; direction: ltr; } --> </style> <link rel="stylesheet" href="sample.css" type="text/css"> </head> <body> <table border="1" cellspacing="1" cellpadding="1" align="right"> <tr> <td height="50" valign="top"><p class="sample2"><font face="MS 明朝">1</p></font></td> </tr> <tr> <td height="500" valign="top"><p class="sample2" ><font face="MS 明朝">アアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアアア</font></p></td> </tr> </table> <table border="1" cellspacing="0" cellpadding="0" align="right"> <tr> <td height="50" valign="top"><p class="sample2"><font face="MS 明朝">2</font></p></td> </tr> <tr> <td height="500" valign="top"><p class="sample2"><font face="MS 明朝">エエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエエ</font></p><font face="MS 明朝"> </font></td> </tr> </table> <table border="1" cellspacing="0" cellpadding="0" align="right"> <tr> <td height="50" valign="top"><p class="sample2"><font face="MS 明朝">3</font></p></td> </tr> <tr> <td height="500" valign="top"><p class="sample2"><font face="MS 明朝">オオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオオ</font></p> </td> </tr> </table> </body></html> -------------------------------------------------------------------------- 外部記述 [sample.css] <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> p.sample1 {writing-mode: lr-tb; vertical-align:top;} p.sample2 {writing-mode: tb-rl; vertical-align:top;} </body> </html>

  • tableのheight指定が効かない

    tableの高さを固定したく、heightとoverflowを指定したんですが、 tableに記述したソース分の大きさ(高さ)になり、スクロールバーが表示されません。 /*----外部CSS----*/ .sample{ color: #ffffff; background-color: #000000; height: 500px; width : 90%; overflow:scroll; } /*----ソース-----*/ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> <meta http-equiv="content-style-type" content="text/css"> <link rel="stylesheet" type="text/css" hrefstyle.css"></head> <body> <table class="sample"><tbody><tr> <td class="a1"></td><td class="a0"></td><td class="a2"></td></tr><tr> <td class="a0"></td><td class="a0"> <div class="text">本文(heightが700pxくらいの内容)</div> </td><td class="a0"></td></tr><tr> <td class="a3"></td><td class="a0"></td><td class="a4"></td> </tr></tbody></table>                   ※tdのclassはテーブルのふちに用いてる画像を指定してあります。 </body> </html> 解決方法をご存知の方、よろしくお願いします。

    • ベストアンサー
    • HTML
  • line-heightについて

    お世話になります <style type="text/css"> <!-- td { line-height:30px; } //--> </style> <form action="***.cgi" method="post" name="f"> <table> <tr> <td>1<br>2<br>3<br>4</td> <td> <input type="radio" name="a">1<br> <input type="radio" name="a">2<br> <input type="radio" name="a">3<br> <input type="radio" name="a">4 </td> <td> <input type="radio" name="b">1<br> <input type="radio" name="b">2<br> <input type="radio" name="b">3<br> <input type="checkbox" name="c">A </td> </tr> </table> <input type="submit" value="入力"> </form> としたらFirefox,Operaではline-heightが適用されるのですがIEでは適用されずに段が異なってしまいます <tr>を使って表示すればいいのですがelements[i]を使いたいのです name="a"を選択したらsubmitのdisabledをfalseにしたり checkboxを選択したら全部のチェックを外したり name="a"の選択によってname="b"の一部をdisabledにしたりしてます ですので恐らくelements[i]を奇数・偶数に分けたりして処理すれば<tr>を使って表示できるのだと思うのですが、これ以上複雑にしたくなかったのでlin-heightを使ったのですが何か良い手はないでしょうか?

    • ベストアンサー
    • HTML
  • 入れ子にしたテーブルをheight100%にする

    お世話になります。 以下のソースで、table2の高さを100%にしたいです。 この書き方では、firefoxではうまく表示できるのですが、 IEではだめでした。どこがいけないのでしょうか?? ---------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <style type="text/css"> <!-- html {height:100%;} body {height:100%;} .th100 {height:100%;} --> </style> </head> <body> <table width="600" border="1" cellpadding="0" cellspacing="0" class="th100"> <tr> <td width="300" rowspan="2"> 長いテキスト </td> <td height="50"><table width="300" height="50" border="0" cellpadding="0" cellspacing="0" bgcolor="#000000"> <tr> <td>table1</td> </tr> </table></td> </tr> <tr> <td><table width="300" border="0" cellpadding="0" cellspacing="0" bgcolor="#999999" class="th100"> <tr> <td>table2</td> </tr> </table></td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • TABLE内のTABLEのHEIGHT属性が利かない

    TABLEの中にTABLEを入れ子にしてHTMLを作ったのですが、 外のTABLEのHEIGHTを変動にして、内のTABLEのHEIGHTを100%にしてもHEIGHTがくっつきません。 検証したところ、IE5.0(Mac)は利くようですが、IE5.5(Win)は100%が利きません。 そういう仕様なのでしょうか?しょうがないのでしょうか? それともCSSで解決できるものでしょうか? ご存じの方いらっしゃいましたらご教授ください。 参考に、ソースをご覧ください。 <HTML> <HEAD> <TITLE>SAMPLE</TITLE> </HEAD> <BODY> <TABLE WIDTH="600" HEIGHT="600"> <TR> <TD> <TABLE WIDTH="500" HEIGHT="100%"> <TR> <TD>SAMPLE</TD> </TR> </TABLE> </TD> </TR> </TABLE> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • operaだとテーブルがなくなります

    operaだテーブルがなくなります IEだと問題なく表示されるのに だれか助けてください style.css    body{background-color:#ffff99;margin:0px; font-size:large; font-family:"HG正楷書体-PRO","HG行書体","HGP行書体",cursive} .cur{font-family:cursive} .ser{font-family:serif} } table{background-color:#ff9933;  width:100%; height:10%    }   .midori{background-color:#999933; width:100%; height:3.3%  }        htmlのほうは <HTML> <HEAD> <TITLE></TITLE> <link href="style.css" rel="stylesheet" type="text/css"> </HEAD> <BODY> <table><tr ><td></td></tr></table> <table class="midori"> <tr ><td></td></tr></table> <table style="height:6.7%"> <tr ><td></td></tr></table> <table style="position:absolute; left: 0px; bottom:8%; width:8%; height:100%; background-color:#993300"> <tr ><td></td></tr></table> <table style="position:absolute; bottom:0; height=8% " class="midori"> <tr ><td></td></tr></table> </BODY> </HTML> こんな感じなのですが どうしてでしょうか

    • ベストアンサー
    • HTML
  • css テーブルについて

    よろしくお願いします。 2だけを300pxと100pxに2分割にできないでしょうか。 <div class="aa"> <table> <tr> <th>1</th> <td>2</td> </tr> <tr> <th>1</th> <td>1</td> </tr> </table> </div> .aa table { width: 500px; height: 100px; border: 1px #000000 solid; border-collapse: collapse; } .aa th { width: 100px; border: 1px #000000 solid; } .aa td { width: 400px; border: 1px #000000 solid; }

    • ベストアンサー
    • CSS
  • tableの大きさが編集領域とブラウザで異なる

    現在、ビルダーにてHPを作成しております。 tableの大きさが編集画面で見るのと、ブラウザ上で見るのでは 大きさが異なってしまいます。 解決方法を教えてください。よろしくお願いします。 <DIV style="width : 157px;height : 607px;top : 72px;left : 2px; position : absolute; z-index : 9; " id="_HPB_LAYOUT_LMV0" class="hpb-side-cell3" align=""> <DIV>   <TABLE cellpadding="0" cellspacing="0" class="hpb-vmenu1" id="_HPB_LINK_MENU_TABLE_01" width="157" height="200" border="1" style="table-layout: fixed;"> <TBODY> <TR> <TD class="hpb-vmenu1-head" height="15"><IMG src="c5.gif" alt="" width="1" height="1" border="0"></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="#" class="hpb-vmenu1-link0"><SPAN style="font-size:11pt">文字</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="sub1.html" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">メニュー</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="sub2.html" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">表</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="sub3.html" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">期間限定</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="sub4.html" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">紹介</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="sub2.html" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">ご注文</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="#" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">ご相談・ご質問</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="#" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">コンセプト</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-idle1" height="50"><STRONG><A href="#" class="hpb-vmenu1-link1"><SPAN style="font-size:11pt">地域</SPAN></A></STRONG></TD> </TR> <TR> <TD class="hpb-vmenu1-foot" height="15"><IMG src="c5.gif" alt="" width="1" height="1" border="0"></TD> </TR> </TBODY> </TABLE> </DIV> </DIV>

  • CSSとテーブル

    <table width="630" class="sample1"> <tr> <td><table width="630" align="center" class="sample2">....</table></td> </tr> </table> 入れ子のテーブルまで"sample1"が適用されて困っています。 "sample2"を適用させる方法を教えてください。よろしくお願いします。

    • ベストアンサー
    • HTML
  • テーブルタグ表示が上手くいかない(html・CSS

    下のタグを使うと、ブログに下記画像上部のように表示されているのですが 理想としては画像の下部分のように綺麗に表示したいです。 自分なりに何度かタグを弄っているのですが何度やっても画像上部のように乱れて表示されてしまい ムキー!っとなってます。 大変申し訳ないのですが、画像の下部分のように表示できるタグを教えてください。 何卒お願いします。 画像内のピンクの部分は実際には<img src="で指定された画像になります。 使ったタグ <table border="1"> <td><table id="table-03"> <colgroup> </colgroup><tr> <td><a href="jpg"><img src="i.jpg" alt="" width="150" height="220" class="aligncenter size-full wp-image-227" /></a></td> <td><table id="table-03"> <colgroup> </colgroup> <tr> <tr><td>あああ名</td> <td>いいい</td> </tr> <tr> <td>ううう</td> <td>えええ</td> </tr> <tr> <td>おおお</td> <td>かかかかか~</td> </tr> </table></td> </tr> </table> </DIV> </colgroup><tr> <td><a href="jpg"><img src="i.jpg" alt="" width="150" height="220" class="aligncenter size-full wp-image-227" /></a></td> <td><table id="table-03"> <colgroup> </colgroup> <tr> <tr><td>あああ名</td> <td>いいい</td> </tr> <tr> <td>ううう</td> <td>えええ</td> </tr> <tr> <td>おおお</td> <td>かかかかか~</td> </tr> </table></td> </tr> </table> </DIV>

専門家に質問してみよう