• 締切済み

●○■□などの文字を含んだ<td>の幅指定について

goulanの回答

  • goulan
  • ベストアンサー率46% (23/50)
回答No.1

IE対策としては、line-break, word-breakをお使いなのでしょうか。w3cのCSS Text Level 3 にありますが、各ブラウザの対応は今一つのようです。 かなり無理やりな方策ですが。全角記号、連続した半角アルファベット等は、一つ一つ全ての間に半角スペースを入れて、該当する要素に、style=" word-spacing: -0.5em;" を指定、でいけるのじゃないかと思います。スペースを入れておけば、word と見做されるので、マイナス指定の word-spacing。 word-spacing の値は font-sizeによってバランスがおかしくなりそうですので、px指定よりは em指定でしょうね。

関連するQ&A

  • テーブルの幅固定について

    テーブルの幅固定を以下のように行っているのですが文字が指定した幅を超えると、 幅を指定してるにも関わらず、文字が改行せずに幅が伸びてしまいます。 自動的に改行になるとばかり思っていました。 <br>での改行は考えていないので、テーブルの幅を絶対的に固定する方法ありますでしょうか? <table width="50" border="0" style="background-color: #cecece"> <tbody> <tr> <td>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</td> </tr> </tbody> </table>

    • ベストアンサー
    • HTML
  • width指定したTDでwhite-space:nowrapが効かない

    width指定したTDでwhite-space:nowrapが効かない ブラウザはIE6~8のみを想定しています。 下記のHTMLでは、2行目は正常なのですが、1行目のnowrapが働かず、改行がかかってしまいます。 列毎に幅を指定する必要があるので、1行目にはwidthを指定しているのですが、 どのようにすれば自動改行を禁止できるでしょうか。 <table style="table-layout: fixed;"> <tr> <td style="width: 50px; overflow: hidden; white-space: nowrap;">あああああああ</td> <td style="width: 70px; overflow: hidden; white-space: nowrap;">あああああああ</td> </tr> <tr> <td style="overflow: hidden; white-space: nowrap;">あああああああ</td> <td style="overflow: hidden; white-space: nowrap;">あああああああ</td> </tr> </table>

    • ベストアンサー
    • HTML
  • css で指定した div と table の幅が

    html と css の勉強中です。 スタイルシートで次のように同じ幅を 指定したのですが、表とブロックの幅が 揃いません。 <style><!-- #a {width:300px;border:solid 2px} #b {width:300px;border:solid 2px} --></style> <div id="a"> <p> a b c d </p> </div> <table id="b" border="1"> <tr> <td>a</td><td>b</td><td>c</td><td>d</td> </tr> </table> ブラウザは IE6と opera で見てみました。 お願いします。

    • ベストアンサー
    • CSS
  • 固定幅div内のテーブルセルの幅指定方法

    幅を指定して横スクロールバーを有効にしたdivがあります。 その中に、divよりも幅の広いtableを置き、thやtdの幅を指定したいのですが、有効になりません。 tableへの幅指定は有効になるのですが、内容が動的に変化するので、セル単位で幅を指定したいと思っています。 解決方法がありましたらお願いいたします。 HTML:標準モード UA:Windows xp IE6 サンプルコード: <style> div{ height:200px; width:200px; overflow-x:scroll; border:#f99 solid 1px; } table{ background:#ddd; border:#666 solid 1px; } td{ width:100px; border:#666 solid 1px; } </style> <div> <table> <tr> <td>サンプルテキスト</td> <td>サンプルテキスト</td> <td>サンプルテキスト</td> <td>サンプルテキスト</td> <td>サンプルテキスト</td> <td>サンプルテキスト</td> </tr> </table> </div>

    • ベストアンサー
    • HTML
  • TABLEタグの幅指定

    テーブルの幅を厳密に指定したいのですが、 例えば以下のような1行2列のテーブルがあるとき、 <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0> <TR> <TD WIDTH=100>***</TD> <TD WIDTH=100>***</TD> </TR> </TABLE> このような場合にテーブルタグにWIDTH属性を加えるとすると、 100*2+4*4+1*3=219で、WIDTH=219が正確な値なのでしょうか? よろしくお願いします。

  • 文字サイズ変更でテーブル要素(幅の値を指定済み)の幅が変化しないようにするには?

    宜しくお願いします。 [症状] TABLE・TDタグにて、幅をしているすると、 文字サイズ:小 で見るときは、設定した値の 適正地が反映されるが、文字サイズ:中 以上に 設定すると、TABLEで設定最多幅は有効なままで あるが、TDで設定した値は完全に無視される形で、 テーブルの中のバランスが乱れてしまう。 [ソース] <table width="750" border="0" cellspacing="0" cellpadding="0" align="center" bgcolor="white" style="border-collapse:collapse "> <tr> <td style="width:250px; ">あ</td> <td style="width:300px; ">い</td> <td style="width:200px;">う</td> </tr> <tr> <td>え</td> <td>お</td> <td>か</td> </tr> </table> [コメント] 特に変哲のないソースだと思います。 あ~か の文字のところには、それぞれもう少し長い 文章が入る形となります。 [質問] 文字サイズをブラウザ上で変更しても、 TDの幅が変わらないようにしたい。 その際に、文字のサイズを固定はしたくないです。 [その他] styleではなく、width指定しても 効果がありませんでした。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • CSSでtdの横幅の片方だけを指定したい

    横2列の table を配置して、一方の tdのみ 120px で強制的に確保したいです。 <table style="width:100%"> <tr> <td style="width:120px;">120pxで固定したい</td> <td>残りスペース全て使う </td> </tr> </table> ※ここに記載するため、styleで表記しています。 上記でCSS指定すると、ブラウザの横幅に合わせて伸縮してしまい120pxの幅より大きくなってしまいます。 伸縮せず120pxで強制する指定方法がございましたら教えてください。

  • tdタグに何も入れなくとも幅を均一にする方法

    <table border = "1"> <tr> <th>hoge</th> <td></td> </tr> </table> 上記のような場合、<td>タグ内には何も書かれてないので セルがつぶされた形で表示されますよね? これを<th>タグ内のhogeと同じセルの幅で表示するにはどうすればいいですか? style属性にwidth:100pxとかしてみたのですが無駄でした‥

    • ベストアンサー
    • HTML
  • widthを指定しない<td>が幅をシェアする基準?

    <table>タグの表示不安定につき、ご教示ください。 aaaa.txtに蓄積したデータをCGIで切り分けて、下記の<table>タグ内に割り付けて 表示させています。 <table width=510> <tr><th>左列の表題</th> <th>右列の表題</th></tr> <tr><td>改行タグを含む文字列A1</td> <td>改行タグを含む文字列B1</td></tr> <tr><td>同様のA2</td><td>同様のB2</td></tr> <tr><td>同様のA3</td><td>同様のB3</td></tr> <!--このtrを繰返し--> </table> 表幅を絶対指定したのは、印刷時に 510 px / 72 dpi * 2.54 cm = 18 cmで、 A4の幅に納まりやすいだろうという意図です。文字列AとBは、それぞれ <br>で区切ってありますが、区切りは概ね1行分(はみだせば折り返し)です。 <td>の幅を指定しなかったのは、<br>までの長さに応じて表示幅をシェアさせ、 折り返し頻度を減らすこと(印刷時の縦長の節約)が目的です。 IE5/Win&Mac及びNN4.7/Win&Macで、td内の1行長を無視した割付けが しばしば生じ、その割付け方の法則がわかりません。小細工を諦めて、列幅を 50%ずつに指定してしまおうかとも思っていますが、ブラウザは何を基準に 列幅を割り付けているのでしょう? 要領を得ない状況説明で恐縮ですが、追加説明は補足要求でご指示ください。

  • テーブル<TD>の幅の固定

    テーブルのTD幅をWIDTHで指定しているのですが、入力するテキストによって幅が動いてしまいます。 例) <table width="50">  <tr>   <td width="10">AAAAAAAAAAAAAAAA</td>   <td width="40">AA</td>  </tr> </table> というような場合、幅の狭い方のセル幅が広くなってしまいます。 また逆に広い方が何度も改行させられて出力されたり、出力させたいテキストによって、いかようにも幅が変更されてしまいます。 他のサイトなども色々調べてみて、半角英数字の場合は特に顕著ということも書かれてあったのですが、半角英数字の出力は必須なんです。 (全角文字の場合でも、完全に固定とはなりませんでした) やっぱり完全にテーブルのセル幅を固定するのはムリなのでしょうか? 何か解決方法はありますでしょうか? よろしくお願いします。

    • ベストアンサー
    • HTML