css不在表"td"中工作,但它适用于"th"....发生了什么?

Ron*_*dog 2 html css html-table

我已经编写了一段时间的webapp并且所有布局,css工作正常.在过去一周左右的某个时间我做了一些改变,我完全不知道我改变了什么导致了这个问题,我试着倒转代码而没有运气.然而,我已经发现,如果我在我的表中使用a <th>代替a <td>,问题就会消失.问题是有数千行代码需要修改,我正在使用这些表来显示从db读取的列数据.如果我可以避免必须更改<td>标签,<th>我将非常高兴.

我用css来设置列名的样式.任何人都可以解释为什么以下现在失败了,现在已经工作了8个月.我知道代码显然在某个地方发生了变化,但是我无知在哪里看......也许你的解释会让我知道在哪里查看我的代码.

这曾经工作但现在只显示FIELD_name区域中的灰色文本: <td class="FIELD_name">Field Name:</td><td class="FIELD_text">small grey text here"</td>

如果我这样做,我得到正确的显示(使用"th"而不是"td"): <th class="FIELD_name">Field Name:</th><th class="FIELD_text">small grey text here"</th>

或者,如果我使用这样的span标记,它也可以: <td><span class="FIELD_name">Field Name:</span></td><td class="FIELD_text">small grey text here"</td>

这是CSS:

.FIELD_name {
  font-family: Tahoma;
  font-size: 11px;
  font-style: normal;
  color: #135386;
  font-weight: bold;
}
.FIELD_text {
  font-family: "Times New Roman", Times, serif;
  font-size: 12px;
  font-style: normal;
  color: #666666;
  font-weight: bold;
}
Run Code Online (Sandbox Code Playgroud)

我希望它只是一个简单的代码修复...你的帮助是值得赞赏的.谢谢.

Sha*_*lie 5

正确的答案是计算元素样式的特殊性,并找出覆盖它的内容.

实用的答案是在firefox上安装firebug,并找出哪个定义超出你想要的定义.

懒惰的答案是在此元素的样式表中的每个定义之后使用!important.

  • Firebug和Firefox的+1.我用这种方式解决了很多CSS问题.它也非常擅长'看某人CSS的裙子'以了解它是如何工作的. (2认同)