在表中修改列(CSS)

时间:2011-04-07 15:18:31

标签: java html css tablelayout spacing

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>";

String end =“”;

我在Firefox 3.6.11上运行此Web应用程序。没试过在不同的浏览器上运行它。

1 个答案:

答案 0 :(得分:1)

这里需要注意的重要一点是,百分比值与表的可用空间量有关,而与页面或包含div的空间量无关。尝试使用像200这样的绝对值。如果您已经在表格上设置了width,这可能会使事情变得复杂,这意味着您不会让浏览器决定它最终会有多宽。

如果没有看到代码的其余部分并知道表格的上下文,或者表格本身是否设置了宽度,我可以告诉您,当表格本身设置了宽度时,在单个列上设置宽度当它们碰到填满空间时,它会改变其他列的宽度。在这种情况下,通常最好让单元格的大小自行排序,因为用于设置宽度的算法非常动态。或者,您可以非常严格地设置每列的宽度,就像您希望它出现一样。

要阅读有关主题,请参阅the HTML specification.