Width指定の中に入り切らない文字をカットする方法は?

このQ&Aのポイント
  • 指定した幅に収まらない文字列の後ろをカットする方法について教えてください。
  • 特定の要素の幅に文字列が収まらず、改行されてしまう場合、どのように対処すればよいか教えてください。
  • width指定の中に収まらない文字を切り捨てる方法について教えてください。
回答を見る
  • ベストアンサー

Width指定の中に入り切らない文字をカットしたい

下のような指定をすると、1行目のshowLv3の中が90pixcelでは入り切らない場合、改行されて2行に表示されてしまいます。 showLv3の中は文字列で、全角・半角が混在しています。 width=90をオーバーしないように文字列の後ろをカットするためにはどうすればいいでしょうか? よろしくご教授ください。 <tr class="tdListText"> <td width="90" ><%=showLv3%></td> <td width="100" ><%=showLv4%></td> <td width="110"><%=showkrk%></td> <td width="80"><%=StringUtil.formatNum(info.getDsnsry())%></td> <td width="35;<%=info.getTnikgo()%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getSmktnk())%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getTmmdkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getTmmdkdmny())%></td> <td align="right" width="40" ><%=showrtuT%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getZmmdkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getZmmdkdmny())%></td> <td align="right" width="40" ><%=showrtuZ%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getRuidkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getRuidkdmny())%></td> <td align="right" width="40"><%=showrtuR%></td> </tr>

  • HTML
  • 回答数6
  • ありがとう数6

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

No.2です。  あとで気がついたのですが、ふたつのtableに分けているということは、ひょっとして前半はtableheaderで後半がtablebodyで、後半のtableはループ処理で複数出力される??  でしたら <table border="1" summary="List"><!-- summaryは必須 -->  <thead><!-- theadはゼロ個か1個 -->   <tr>    <th rowspan="2" abbr="No">No.</th><!-- abbrは必須 -->    <th rowspan="2" abbr="L3">L3種別</th>    <th rowspan="2" abbr="L4">L4細目</th>    <th rowspan="2" abbr="member">協力会社</th>    <th rowspan="2" abbr="count">設計数量</th>    <th rowspan="2" abbr="tani">単位</th>    <th rowspan="2" abbr="price">単価</th>    <th colspan="3" abbr="ThisM">当月(円)</th>    <th colspan="3" abbr="afterM">先月まで(円)</th>    <th colspan="3" abbr="total">累計(円)</th>   </tr>   <tr>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>   </tr>  </theade>  <tbody><!-- tbodyは本来必須でひとつ以上 -->   <tr> ・・・【中略】・・・  </tbody> </table> と、すると楽です。tableでループ処理していた部分を<tbody>で行えばよい。 仕様書 「 ⇒<!ELEMENT TABLE - - (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#edef-TABLE )」  footerも必要なら <table>  <thead>  </thead>  <tfoot>  </tfoot>  <tbody>  </tbody>  <tbody>  </tbody> ・・ </table>  です。これで幅が合わない問題は解決しますし、tableが複数のページに分かれても、印刷時に各ページに<thead><tfoot>が印刷されます。 ・・わざわざ、セルごとに幅を指定しなくても合います。そのほうがシンプルですし、正しいです。  

Horirin39
質問者

お礼

ORUKA1951さんご丁寧にありがとうございます。 おっしゃるとり、テーブルでループ処理して表示していました。 ありがとうございました。

その他の回答 (5)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.6

>(このように表示させたいのです)  tableの描画アルゴリズムで幅に収まらない場合は折り返すことになっています。 これは、様々なディスプレイのことを考えて定められています。  ⇒11.3 視覚系ユーザエージェントによる表の整形( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.3 )  とても良く工夫されています。  よって、本当は幅を指定しないほうが良いのですが・・ウィンドウ幅やフォントサイズを変えて(Ctrl++)試されたらわかるように絶対にそのほうが良いです。  また、tableを使う限り、overflow:hiddenは使えません。     ^^^^^^^^^^^^^^^^^^  が回帰をウを防ぐ方法だけは示しておきます。 1) ブラウザの描画アルゴリズムを止めます。 white-space:プロパティを指定します。とりうる値は normal|pre|nowrap|pre-wrap|pre-line|inherit  です。 normal:標準の折り返し方法(半角スペース・改行ともひとつにまとめられる) pre: HTMLで言うところのpreと同じ(半角スペースや改行もそのまま) nowrap: 半角スペースはひとつにまとめられた上で改行を禁止 (pre-wrap):preと同様空白文字は消されませんが、行ボックスの端まで行くと自動的な改行がされます。 (pre-line):上記に加えて、ソース内の改行も有効です。 inherit: 継承(親の指定を引き継ぐ) ()の値は、CSS2.1で追加  よって、 table[summary="List"] tbody tr td:nth-child(2), table[summary="List"] tbody tr td:nth-child(3){white-space:nowrap;}  で改行はなくなります。 ※ table[summary="List"] tbody tr td{white-space:nowrap;}  でtbody内のすべてのtdについて改行が禁止されます。これがベストです。セル幅は指定しない!!!(内容によってtableの幅全体が伸縮します。)  なお、どうしてもにこだわるのでしたら、tableではなくリストでマークアップしてdisplay:inline-block、最悪floatで並べるしかないでしょう。

Horirin39
質問者

お礼

ORUKA1951さん、ご丁寧なお返事ありがとうございます。 あと1つ教えてください。 IE8,IE9で表示させると、各項目がへこんだ形になっています。(SAFARIでは各項目が黒線で囲まれています。)これをへこんだ形にしないで、罫線で区切るにはどうしたらよいのでしょうか。 よろしくご教授ください。

Horirin39
質問者

補足

ORUKA1951さん、おりがとうございます。 先ほどのお礼のなかで、へこんだ形になっている理由はわかりました。 border-collapse:collapse;/* 結合ボーダーモデル */ の指定がありませんでした。 申し訳ありませんでした。 これを指定すると項目と項目の間に白い罫線が表示されます。 この線にgrayなどの色を付けたいのですが、どのように指定すればいいのでしょうか。 度々で申し訳ありません。よろしくご教授ください。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.5

 javascriptから出力された最終のHTMLのソースをチェックすれば良いのですが、そのためにはfirefoxとそのアドオンのfirebugが必要です。  そこで、とりあえず仮のデータを入れたHTMLを作成してHTMLとスタイルシートの文法チェックをします。  私が利用しているのは [HTML]  ⇒Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html# ) {CSS]  ⇒W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_input )  今回のサンプルはCSS3のものも含まれているので、サイトの[オプション]からCSS3をチェックしておくこと ★先のソースはタブを_に置換してあるので戻すこと  サイズを決めたければ、印刷用スタイルシート(media="print")を参考にしてください。  こんなシンプルなHTMLで大丈夫なのです。楽になればよいのですが(^^)  なお、CSS3の新しいプロパティも遊びで入れてあります。こんなことも新しいブラウザだとできるようになります。(IE9以降、およびfireefox,Opera,Chrome)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.4

ひょっとして読みやすいようにスペースを入れたものがそのまんまとか 実際の内容がわかりませんので、適当な値を入れたサンプルを <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> <style type="text/css"> <!-- table[summary="List"]{ border-collapse:collapse;/* 結合ボーダーモデル */ border:solid 1px black; } table[summary="List"] tbody tr {background-color:silver;} table[summary="List"] tbody tr:nth-child(2n) {background-color:aqua;} table[summary="List"] th{font-weight:normal;} table[summary="List"] td+td+td+td+td+td+td{text-align:right;} table[summary="List"] thead tr:first-child th:nth-child(8){background-color:red;} table[summary="List"] thead tr+tr th:nth-child(1){background-color:red;} table[summary="List"] thead tr+tr th:nth-child(2){background-color:red;} table[summary="List"] thead tr+tr th:nth-child(3){background-color:red;} table[summary="List"] tbody tr td:nth-child(8){background-color:red;} table[summary="List"] tbody tr td:nth-child(9){background-color:red;} table[summary="List"] tbody tr td:nth-child(10){background-color:red;} --> </style> <style type="text/css" media="print"> <!-- td{overflow:hidden;}/* はみ出したものは消す */ th[abbr="No"]{width:40em;} th[abbr="L3"]{width:45em;} th[abbr="L4"]{width:30em;} th[abbr="member"]{width:30em;} th[abbr="count"]{width:5em;} th[abbr="tani"]{width:1em;} th[abbr="price"]{width:10em;} th[abbr="ThisM"]{width:12em;} th[abbr="afterM"]{width:12em;} th[abbr="total"]{width:5em;} th[abbr="pCount"]{width:5em;} th[abbr="pCount2"]{width:5em;} th[abbr="pc"]{width:3em;} --> _</style> </head> <body> _<div class="header"> __<h1>タイトル</h1> __<p>このページでは・・・・</p> _</div> _<div class="section"> __<h2>見出し</h2> __<table border="1" summary="List"><!-- summaryは必須 --> ___<thead><!-- theadはゼロ個か1個 --> ____<tr> _____<th rowspan="2" abbr="No">No.</th><!-- abbrは必須 --> _____<th rowspan="2" abbr="L3">L3種別</th> _____<th rowspan="2" abbr="L4">L4細目</th> _____<th rowspan="2" abbr="member">協力会社</th> _____<th rowspan="2" abbr="count">設計数量</th> _____<th rowspan="2" abbr="tani">単位</th> _____<th rowspan="2" abbr="price">単価</th> _____<th colspan="3" abbr="ThisM">当月(円)</th> _____<th colspan="3" abbr="afterM">先月まで(円)</th> _____<th colspan="3" abbr="total">累計(円)</th> ____</tr> ____<tr> _____<th abbr="pCount">出来形数量</th> _____<th abbr="pCount2">出来高</th> _____<th abbr="pc">%</th> _____<th abbr="pCount">出来形数量</th> _____<th abbr="pCount2">出来高</th> _____<th abbr="pc">%</th> _____<th abbr="pCount">出来形数量</th> _____<th abbr="pCount2">出来高</th> _____<th abbr="pc">%</th> ____</tr> ___</thead> ___<tbody><!-- tbodyは本来必須でひとつ以上 --> ____<tr> _____<td>1</td> _____<td>ABC</td> _____<td>abc</td> _____<td>ABC社</td> _____<td>25</td> _____<td>台</td> _____<td>100</td> _____<td>20</td> _____<td>2000</td> _____<td>80</td> _____<td>25</td> _____<td>2500</td> _____<td>100</td> _____<td>20</td> _____<td>2000</td> _____<td>80</td> ____</tr> ____<tr> _____<td>2</td> _____<td>ABC</td> _____<td>abc</td> _____<td>EFG社</td> _____<td>100</td> _____<td>台</td> _____<td>100</td> _____<td>80</td> _____<td>8000</td> _____<td>80</td> _____<td>100</td> _____<td>10000</td> _____<td>100</td> _____<td>70</td> _____<td>7000</td> _____<td>70</td> ____</tr> ____<tr> _____<td>1</td> _____<td>ABC</td> _____<td>abc</td> _____<td>ABC社</td> _____<td>25</td> _____<td>台</td> _____<td>100</td> _____<td>20</td> _____<td>2000</td> _____<td>80</td> _____<td>25</td> _____<td>2500</td> _____<td>100</td> _____<td>20</td> _____<td>2000</td> _____<td>80</td> ____</tr> ___</tbody> __</table> _</div> _<div class="footer"> __<h2>文書情報</h2> _</div> </body> </html>

Horirin39
質問者

お礼

何度もご丁寧にご回答いただきましてありがとうございます。 いただいたコーディングを試して見ました。 画面用のCSSを作り、widthをPXで指定しました。 テストデータの中に、L3種別とL4細目に”あいうえおかきくけこさしすせそ”を入れて見ますと、L3種別もL4細目も途中で改行されて2行に表示されてしまいます。 L3種別はwidth:100px、L4細目はwidth:180pxとしました。 CSSの中の td{overflow:hidden;}/* はみ出したものは消す */の指定で、L3種別は100PXに入るだけ表示”あいうえおかきく”されるのではないでしょうか。(このように表示させたいのです) 何度も教えていただきお手数をおかけします。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.2

わざわざHTMLを使う意味が?? 【引用】____________ここから HTMLは、どんな環境からもWebの情報を利用できるようにすべきだという方針の下に開発されている。例えば、様々な解像度や色深度のグラフィックディスプレイを持つPCや、携帯電話、モバイル機器、音声入出力機器、帯域が広いコンピュータや狭いコンピュータ、等の環境である。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[Introduction to HTML 4 (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.2.1 )]より  HTMLでページを作成すると言うことは、これが唯一最大の目的です。 tableは、  ⇒視覚系ユーザエージェントによる表の整形( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.3 )  すべての幅の固定をやめてしまえば、ブラウザはきちんと収まるように整形してくれますよ。  また印刷用スタイルシートを別途指定して、印刷時には、A4横に印刷できるよう細かく指定すれば良いです。PDFなみにきちんと整形できます。 具体的には <table border="1" summary="List"><!-- summaryは必須 -->  <tbody><!-- tbodyは本来必須です。 -->   <tr>    <th rowspan="2" abbr="No">No.</th><!-- abbrは必須 -->    <th rowspan="2" abbr="L3">L3種別</th>    <th rowspan="2" abbr="L4">L4細目</th>    <th rowspan="2" abbr="member">協力会社</th>    <th rowspan="2" abbr="count">設計数量</th>    <th rowspan="2" abbr="tani">単位</th>    <th rowspan="2" abbr="price">単価</th>    <th colspan="3" abbr="ThisM">当月(円)</th>    <th colspan="3" abbr="afterM">先月まで(円)</th>    <th colspan="3" abbr="total">累計(円)</th>   </tr>   <tr>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>   </tr>   <tr>    <td><%=showLv3%></td>    <td><%=showLv4%></td>    <td><%=showkrk%></td>    <td><%=StringUtil.formatNum(info.getDsnsry())%></td>    <td></td>    <td></td>    <td><%=StringUtil.formatNum(info.getSmktnk())%></td>    <td><%=StringUtil.formatNum(info.getTmmdkgsry())%></td>    <td><%=StringUtil.formatNum(info.getTmmdkdmny())%></td>    <td><%=showrtuT%></td>    <td><%=StringUtil.formatNum(info.getZmmdkgsry())%></td>    <td><%=StringUtil.formatNum(info.getZmmdkdmny())%></td>    <td><%=showrtuZ%></td>    <td><%=StringUtil.formatNum(info.getRuidkgsry())%></td>    <td><%=StringUtil.formatNum(info.getRuidkdmny())%></td>    <td><%=showrtuR%></td>   </tr>  </tbody> </table> たったこれだけで良いです。 ヘッダ内でスタイルシートで <style type="text/css"> <!-- table[summary="List"]{ border-collapse:collapse;/* 結合ボーダーモデル */ border:solid ipx black; } table[summary="List"] th{font-weight:normal;} table[summary="List"] td+td+td+td+td+td+td{text-align:right;} --> </style> <style type="text/css" media="print"> <!-- td{overflow:hidden;}/* はみ出したものは消す */ th[abbr="No"]{width:40em;} th[abbr="L3"]{width:45em;} th[abbr="L4"]{width:30em;} th[abbr="member"]{width:30em;} th[abbr="count"]{width:5em;} th[abbr="tani"]{width:1em;} th[abbr="price"]{width:10em;} th[abbr="ThisM"]{width:12em;} th[abbr="afterM"]{width:12em;} th[abbr="total"]{width:5em;} th[abbr="pCount"]{width:5em;} th[abbr="pCount2"]{width:5em;} th[abbr="pc"]{width:3em;} --> </style> とでもしておけば良いですよ。 後半は印刷用なので、幅はmmで、フォントサイズはptで指定し、必要ならth,tdにpaddongを適当に指定すると良いでしょう。

Horirin39
質問者

お礼

OKURA1951さんありがとうございます。 丁寧な解説で初心者の私にもわかりやすいです。 これをお手本に修正してみます。

Horirin39
質問者

補足

OKURA1951様 早速書き換えて見ましたが、意図した画面になりませんでした。 ひどく崩れた画面が表示されました。画像が添付できないので、主なところを書きますと、 ・ヘッダー部分が画面(1280PX)の3分の2ほどに表示されている。 ・データ部分が表になっていない。(2行目以降罫線が出ていない) ・2行目以降はヘッダーと合っていない。 HTMLもCSSも初心者ですので、理解不測をたいへん申し訳なく思います。 私のCSSの使い方が間違っているよう思いますが、よくわかりません。 恐れ入りますが、お教えいただければありがたいです。 修正したソース <html> <head> <title>工事実行予算管理システム</title> <style type="text/css"> table[summary="List"]{ border-collapse:collapse;/* 結合ボーダーモデル */ border:solid ipx black; } table[summary="List"] th{font-weight:normal;} table[summary="List"] td+td+td+td+td+td+td{text-align:left;} </style> <style type="text/css" > td{overflow:hidden;}/* はみ出したものは消す */ th[abbr="No"]{width:30px;} th[abbr="L3"]{width:90px;} th[abbr="L4"]{width:100px;} th[abbr="member"]{width:110px;} th[abbr="count"]{width:80px;} th[abbr="tani"]{width:35px;} th[abbr="price"]{width:80px;} th[abbr="ThisM"]{width:210px;} th[abbr="afterM"]{width:210px;} th[abbr="total"]{width:210px;} th[abbr="pCount"]{width:80px;} th[abbr="pCount2"]{width:90px;} th[abbr="pc"]{width:40px;} </style> <link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/common/kjiact.css"> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"><meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS"></head> JAVA SCRIPT <table border="1" summary="List"><!-- summaryは必須 -->  <thead><!-- theadはゼロ個か1個 -->   <tr>    <th rowspan="2" abbr="No">No.</th><!-- abbrは必須 -->    <th rowspan="2" abbr="L3">L3種別</th>    <th rowspan="2" abbr="L4">L4細目</th>    <th rowspan="2" abbr="member">協力会社</th>    <th rowspan="2" abbr="count">設計数量</th>    <th rowspan="2" abbr="tani">単位</th>    <th rowspan="2" abbr="price">単価</th>    <th colspan="3" abbr="ThisM">当月(円)</th>    <th colspan="3" abbr="afterM">先月まで(円)</th>    <th colspan="3" abbr="total">累計(円)</th>   </tr>   <tr>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>    <th abbr="pCount">出来形数量</th>    <th abbr="pCount2">出来高</th>    <th abbr="pc">%</th>   </tr>  </theade>  <tbody><!-- tbodyは本来必須でひとつ以上 -->   <tr> <%JAVA LOOPコーディング%> <tr>    <td><%=showLv3%></td>    <td><%=showLv4%></td>    <td><%=showkrk%></td>    <td><%=StringUtil.formatNum(info.getDsnsry())%></td>    <td></td>    <td></td>    <td><%=StringUtil.formatNum(info.getSmktnk())%></td>    <td><%=StringUtil.formatNum(info.getTmmdkgsry())%></td>    <td><%=StringUtil.formatNum(info.getTmmdkdmny())%></td>    <td><%=showrtuT%></td>    <td><%=StringUtil.formatNum(info.getZmmdkgsry())%></td>    <td><%=StringUtil.formatNum(info.getZmmdkdmny())%></td>    <td><%=showrtuZ%></td>    <td><%=StringUtil.formatNum(info.getRuidkgsry())%></td>    <td><%=StringUtil.formatNum(info.getRuidkdmny())%></td>    <td><%=showrtuR%></td>   </tr>  </tbody> </table> <% JAVA LOOPのEND%> </div> </html:form>

noname#206842
noname#206842
回答No.1

overflow:none;でいいのでは?・・・ でも、HTMLは文章構造を記述するものです。 <table>要素にする必要があるのだろうか?・・・ それと6行目の<td>タグが、閉じられていません(要修正) 全体の幅が、広すぎるのでは?・・・ WEBページは、閲覧者の環境を選べないことを理解すれば、この設定では、デバイスの制限がおおすぎるのでは?・・・

Horirin39
質問者

お礼

さっそくのご回答ありがとうございます。 6行目の<td>タグの>を投稿する時に削除してしまいました。 申し訳ありません。 このページは契約された企業向けのページです。契約時に画面解像度の条件やブラウザの指定をさせていただいています。

Horirin39
質問者

補足

nanden1548さん、調査しましたところ、overflow:noneという指定が無いようで、overflow:hiddenがそれではないかと思われますが、正しいでしょうか?

関連するQ&A

  • width指定通り表示されない

    下記のようにヘッダー部分とデータ部分を指定した場合、widthで同じ数値を指定しても、ずれて表示されてしまいます。(IE8、IE9)width指定数値が無視されているように見えるのですが、IEの機能なのであればどのような仕様になっているのか教えてください。 また、widthで指定したとおりに表示させるにはどうしたらよいのか、教えていただきたいと思います。 よろしくお願いします。 ヘッダー部分 <table border="1" CELLSPACING="0" class="tableSearch2" style="cursor:'default';"> <tr class="tdListTitle">   <td align="center" width="<%=numwidth%>" rowspan="2">No.</td>   <td align="center" width="90" rowspan="2">L3種別</td>   <td align="center" width="100" rowspan="2">L4細目</td>   <td align="center" width="110" rowspan="2">協力会社</td>   <td align="center" width="80" rowspan="2">設計数量</td>   <td align="center" width="35" rowspan="2">単位</td>   <td align="center" width="80" rowspan="2" >単価</td>   <td align="center" colspan="3">当月(円)</td>   <td align="center" colspan="3">先月まで(円)</td>   <td align="center" colspan="3">累計(円)</td> </tr> <tr class="tdListTitle">   <td width="80" align="center">出来形数量</td>    <td width="90" align="center" >出来高</td>   <td width="40" align="center">%</td>   <td width="80" align="center">出来形数量</td>   <td width="90" align="center" >出来高</td>   <td width="40" align="center">%</td>   <td width="80" align="center">出来形数量</td>   <td width="90" align="center" >出来高</td>   <td width="40" align="center">%</td> </tr> </table> データ部分 <table border="1" class="tableSearch2"> Javaロジック <tr class="tdListText"> <td width="90" ><%=showLv3%></td> <td width="100" ><%=showLv4%></td> <td width="110"><%=showkrk%></td> <td width="80"><%=StringUtil.formatNum(info.getDsnsry())%></td> <td width="35;<%=info.getTnikgo()%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getSmktnk())%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getTmmdkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getTmmdkdmny())%></td> <td align="right" width="40" ><%=showrtuT%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getZmmdkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getZmmdkdmny())%></td> <td align="right" width="40" ><%=showrtuZ%></td> <td align="right" width="80"><%=StringUtil.formatNum(info.getRuidkgsry())%></td> <td align="right" width="90"><%=StringUtil.formatNum(info.getRuidkdmny())%></td> <td align="right" width="40"><%=showrtuR%></td> </tr> </table>

  • tableの中にtableを作ると、width指定が機能しない

    tableの中にtableを作り、中側にあるテーブルの列ごとにwidthを指定したいのですが、うまくいきません。ソースを書いてみます。 例: <table width=300> <tr><td> <table width=100> <tr><td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td><tr> </table> </td><td> <table width=100> <tr><td>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</td><tr> </table> </td><td> <table width=100> <tr><td>ccccccccccccccccccccccccccccccccccc</td><tr> </table> </td></tr> </table> width=300のテーブルの中にwidth=100のテーブルが3つできたのはいいのですが、width=100のテーブルの中に100pxを超える文字列を入れると100pxという値を無視してテーブルが横長くなってしまいます。 これを100pxという値に従わせるにはどうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • 英文の時はテーブルのwidthが無視される?

    <table>タグで、表示幅を制御しようとしているのですが、おかしなことに気が付きました。 例えば、 <table width=100> <tr><td>あああああああああああああああああああああああ</td></tr> </table> と書いた時、100文字ではなく、100pixcelで制御されます。ですから、実際には文字が標準の大きさなら8文字程度の幅になります。 ところが、中に書き込む文章が英語などの半角文字だけの場合は、どこまでも横に広がり、100pixcelでも100文字でも折り返しません。 なぜ? じゃあ、どうしたら良いの? 誰か納得させてください(゜゜)(。 。 )

    • ベストアンサー
    • HTML
  • TABLE内でのwidth指定

    <table> <tr><th colspan="3">●</th></tr> <tr><td class="1">■</td> <td class="2">▲</td> <td class="3">★</td></tr> <tr><th colspan="3">○</th></tr> <tr><td class="1">□</td> <td class="2">△</td> <td class="3">☆</td></tr> </table> このサンプルについて考えています。 ●○が、割と長い文字列になります。 この時、例えば2段目の左の列が、■,□のうち長い方の文字列に合わせて「width」が表示されるためには、スタイル「class="1"」の内容をどう記述すれば良いのでしょうか。 デフォルトの「width:auto」では、●○の長さに引っ張られてしまい、余分なスペースが出来てしまいます。 2段目の中の列(▲△部分)が短文を記述するセルなので、●○に合わせる必要のあるスペースは、全てここで吸収してしまいたいのです。 同じ仕組みで幾つかテーブルを組みますので、【class="1"】のwidthにpx,%等といった値自体を指定するのは向いていません。 ご指導おねがいします。

    • ベストアンサー
    • HTML
  • テーブルwidthで指定したのに幅が広がる

    ↓のようなHTMLをCGIで出力しました。 <TABLE width="500" cellpadding="10" bgcolor="wheat"> <TR> <TD>2006年9月6日(水)20時48分 </TD><TD><B>2/12求人広告結果</B></TD><TD> 広告</TD> </TR><TR><TD colspan="3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa </TD></TR> <TR><TD colspan="3"><A HREF="./outsider01.cgi?mycmd=edit&view_page=328"><P align="right">編集</A>|<A HREF="./outsider01.cgi?mycmd=delete&view_page=328">削除</A></P></TD></TR> </TABLE> すると、テーブルの幅が広がるのです。 aaaaaaaaaaaaaaaaaaaa・・・ ではなく、ふつうの全角の文章ですとwidth500で固定されるようです。 なぜ小文字のaaaaaaaaaaaaaだとwidthが固定されないのでしょうか?

    • ベストアンサー
    • HTML
  • widthの% or ピクセルを指定した場合の違いについて

    お世話になっております。 下記のソースは、2つのテーブルをくっつけたソースなのですが、 (1)はwidthに「%」を指定しており、(2)は「ピクセル」を指定しています。 (1)の%だとちょうど合っていますが、(2)のピクセルを指定した場合では、値を合わせているにも関わらずずれてしまっています。 「ピクセル」指定をした場合でも合わせるにはどうすればよいのでしょうか? (1)widthに「%」を指定 </head> <body> <div style="width:330;height:20;overflow:hidden"> <table cellpadding="0" width="300" border="1" align="left"> <tr> <td width="20%">列1</td> <td width="20%">列2</td> <td width="20%">列3</td> <td width="20%">列4</td> <td width="20%">列5</td> </table> </div> <div style="width:330;height:50;overflow:auto"> <table cellpadding="0" width="300" border="1" align="left"> <tr> <td width="20%">ああああああああああああああああああああああ</td> <td width="20%">2</td> <td width="20%">3</td> <td width="20%">4</td> <td width="20%">5</td> </tr><tr> <td>4</td> <td>5</td> <td>6</td> <td>7</td> <td>8</td> </tr><tr> <td>7</td> <td>8</td> <td>いいいいいいいいいいいいいいいいいいいいいい</td> <td>10</td> <td>11</td> </tr> </table> </div> (2)widthに「ピクセル」を指定 </head> <body> <div style="width:330;height:20;overflow:hidden"> <table cellpadding="0" width="300" border="1" align="left"> <tr> <td width="60">列1</td> <td width="60">列2</td> <td width="60">列3</td> <td width="60">列4</td> <td width="60">列5</td> </table> </div> <div style="width:330;height:50;overflow:auto"> <table cellpadding="0" width="300" border="1" align="left"> <tr> <td width="60">ああああああああああああああああああああああ</td> <td width="60">2</td> <td width="60">3</td> <td width="60">4</td> <td width="60">5</td> </tr><tr> <td>4</td> <td>5</td> <td>6</td> <td>7</td> <td>8</td> </tr><tr> <td>7</td> <td>8</td> <td>いいいいいいいいいいいいいいいいいいいいいい</td> <td>10</td> <td>11</td> </tr> </table> </div>

    • ベストアンサー
    • HTML
  • TDタグのwidth属性と文字の長さ

    下記のような行があるとします。 <TD width="100">ここ</TD> 「ここ」と書かれた部分には、改行なしで表示させることの出来るMAXの文字数は、半角英数で何文字でしょうか?

    • ベストアンサー
    • 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
  • width="150" に収まるように・・・

    ドリームウェーバーでページを触っているんですが、メルマガ登録のソースをいじると送信ボタンが効かなくなります。以下のソース部分をwidth="150"の場所に収まるようにしてフォームを小さくして、別のページに貼り付けたいのですが・・・ <table border="0" cellpadding="5" cellspacing="2" width="53%" bgcolor="#8888cc"> <tr> <td bgcolor="#ddddff"> <table border="0" cellpadding="0" cellspacing="2" width="100%"> <tr> <td colspan="2" valign="top"><span class="m_p"><b>■登録申込み(購読無料)</b></span></td> </tr> <tr> <td width="586" align="right"> <form action="http://e2.wingmailer.com/wingmailer/mr.cgi" method="post"> <input type="hidden" name="uid" value="E048"> <nobr>E-mail:</nobr></td> <td width="130"> <input type="text" name="email" size="24"> </td> </tr> <tr> <td width="586" align="right"><nobr>お名前:</nobr></td> <td width="130"> <input type="text" name="opt1" size="24"> </td> </tr> <tr> <INPUT TYPE="hidden" NAME="opt2" VALUE="エヴィエ"> <td width="586">  <input type="submit" value="購読する"></form> </td> </tr> </table> </td> </tr> </table>

  • ラジオボタンでテーブルの背景色を変える

    いつもお世話になっています。 テーブルで数十行同じ項目を表示させるとき、今何行目を見ているかわかりやすいように 目印をつけたいと思っています。 ラジオボタンを配置したのですが、一行が横に長く、区別しにくいため 加えて選択されたラジオボタンと同じ行の背景色を変えようと思いました。 が、こういうことってできるのでしょうか? ラジオボタン選択でウィンドウの色を変える方法の応用かなと思って 色々試しましたが全て失敗でした(涙)。 どなたかご存知の方、教えてください。 ちなみにテーブルのイメージは大体こんな感じです↓ <p align=center> <TABLE frame=below rules=all WIDTH=98% vspace=100> <tr> <td width=7% align=right><input type="radio" name="count" value="1"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> <tr> <td width=7% align=right><input type="radio" name="count" value="2"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> <tr> <td width=7% align=right><input type="radio" name="count" value="3"></td> <td align=right width=8%>1234567</td> <td align=left width=18%>12345678901234567890</td> <td align=right width=8%>12</td> <td align=right width=8%>150</td> <td align=right width=8%>300</td> </tr> </table>

専門家に質問してみよう