1
middle += "<tr class='tRow'>"
               + "<td>"
                  + "<a href='" + output.get(i).get("itemURL") + "'>"
                  + gallery 
                  + "</a>"
               + "</td>"
               + "<td class='title'>"
                  + "<a href='" + output.get(i).get("itemURL") + "'>"
                  + ""+ (output.get(i).get("title")).replaceAll("\"","\'\'")+"" // replaces quatations into '

                  + "</a>"
               + "</td>"
               +

'title'(クラス名)という名前の列は、列の幅を狭くするためにスタイルシートの影響を受ける必要があります。その単一の列のみが影響を受ける必要があります。より多くの列があります。これはCSSです:

td.title{
          width:18%;
         }

ただし、このCSSはテーブルのすべての列に影響します。残りの列の幅は影響を受けますが、一部の列の幅はCSSで指定されているものとは異なります。インラインスタイルシートを試しましたが、それでもすべての列に影響します。何が問題ですか?乾杯

追加の詳細:private String getBeginning(int tableNumber){

      return "<html><head><title>"+ (tableNumber - 1)+"</title>"

          + "</head><body>"
          + "<table id='example' class='tablesorter' cellpadding='3' >" // border='1' cellpadding='1' cellspacing='2'
          + "<thead>"
                 + "<tr class='tHead'>"
                       + "<th/>"
                       + "<th>Title</th>"
                       + "<th>Total Price</th>"
                       + "<th>Currency</th>"
                       + "<th>Condition</th>"
                       + "<th>Location</th>"
                       + "<th>End Time</th>"
                       + "<th>Map</th>"
                + "</tr>"
          + "</thead>"
          + "<tbody>";
}


       middle += "<tr class='tRow'>"
               + "<td>"
                  + "<a href='" + output.get(i).get("itemURL") + "'>"
                  + gallery 
                  + "</a>"
               + "</td>"
               + "<td class='title'>"
                  + "<a href='" + output.get(i).get("itemURL") + "'>"
                  + ""+ (output.get(i).get("title")).replaceAll("\"","\'\'")+"" // replaces quatations into '

                  + "</a>"
               + "</td>"
               + "<td>"
                  + ""+output.get(i).get("total") +""
               + "</td>"
               + "<td>"
                  + ""+output.get(i).get("currency")+""
               + "</td>"
               + "<td>"
                  + ""+condition+""
               + "</td>"
               + "<td>"
                  + ""+output.get(i).get("location")+""
               + "</td>"
               + "<td>"
                  + ""+output.get(i).get("endTime").split("T")[0]+""
               + "</td>"
               + "<td>"
               + "<a href='" + getMap(location, postCode, "0") + "'>"
               + "<img src='" + getMap(location, postCode, "1") + "'> "
               +"</a>"
               + "</td>"
               + "</tr>";

文字列end="";

このWebアプリをFirefox3.6.11で実行しています。別のブラウザで実行しようとしませんでした。

4

1 に答える 1

1

ここで注意すべき重要なことは、パーセンテージ値は、ページや div を含むテーブルではなく、テーブルで使用できるスペースの量に関連するということです。のような絶対値を使用してみてください200widthまた、テーブルに既に設定されている場合、つまりブラウザに最終的な幅を決定させない場合、事態が複雑になる可能性があります。

コードの残りの部分を見て、テーブルがどのようなコンテキストにあるか、またはテーブル自体に幅が設定されているかどうかを知らなくても、テーブル自体に幅が設定されているときに単一の列に幅を設定すると、他の列がぶつかり合ってスペースを埋めるように、他の列の幅を変更します。この状況では、幅の設定に使用されるアルゴリズムが非常に動的であるため、セルのサイズを自動的に調整することをお勧めします。または、非常に厳密にして、各列の幅を表示したいとおりに正確に設定することもできます。

この件について詳しく読むには、HTML 仕様を参照してください。

于 2011-04-07T15:55:29.833 に答える