CSS表填充

时间:2011-06-15 12:48:02

标签: css html-table

我正在学习CSS和HTML。 在我的代码中,我有:

<style>
table, td, th
{
padding: 5px;
}
</style>

此规则适用于页面上的所有表。 现在我想制作一个没有填充的表: 这是来源:

 <table>

  <tr>
   <td>Login</td>
   <td><input type="text" name="login" class="input"></td>
  </tr>

  <tr>
   <td>Password</td>
   <td><input type="password" name="password" class="input"></tr>
  </tr>

 </table>

怎么做?

6 个答案:

答案 0 :(得分:2)

如果要为此表添加特定样式以覆盖您定义的默认样式,那么您需要一些方法在CSS中引用它。

通常,您会给它一个班级或ID - 例如<table class='myspecialtable'>....</table>

然后你可以有一个样式表来覆盖你的默认5px样式,仅适用于这个表。

.myspecialtable, .myspecialtable td, .myspecialtable th {
    padding: 0px;
}

如果您无法在此表中添加ID或类,则可以将其添加到父元素上,效果将相同(只要该父级不包含任何其他表,当然)。在这种情况下,您的CSS看起来像这样:

.myspecialtablecontainer table, .myspecialtablecontainer td, .myspecialtablecontainer th {
    padding: 0px;
}

答案 1 :(得分:1)

您应该更改CSS以定义样式。

.padded { ... }

然后,您可以为要使用该样式的任何表格设置class到该样式。

<table class="padded">
</table>

当您为特定类型的所有元素设置样式时,删除它们的唯一方法是将样式设置为其他内容,或者不包含对该页面中CSS文件的引用你不想使用它们。

答案 2 :(得分:1)

一种方法是给你的表一个类似的类:

<table class="nopadding">
 [... table rows and columns...]
</table>

然后把它放在你的CSS中:

.nopadding, .nopadding td, .nopadding th
{
  padding: 0;
}

其中说“该类的任何元素应该具有0的填充”。 .nopadding和.nopadding td必须在那里,并且是一种说法“所有th和td谁在一个类nopadding元素内也不应该有任何填充”,因为你之前告诉所有th和td有填充5px。

答案 3 :(得分:1)

简单使用

<style>
table, td, th
{
    padding: 0px;
}
</style>

同时尝试border-collapse: collapse;

答案 4 :(得分:1)

当我第一次开始学习HTML时,我记得。

您所追求的是 id 属性。你有两个这样的表:

<table class="table1">

  <tr>
   <td>Login</td>
   <td><input type="text" name="login" class="input"></td>
  </tr>

  <tr>
   <td>Password</td>
   <td><input type="password" name="password" class="input"></tr>
  </tr>

 </table>

<table class="table2">

  <tr>
   <td>Login</td>
   <td><input type="text" name="login" class="input"></td>
  </tr>

  <tr>
   <td>Password</td>
   <td><input type="password" name="password" class="input"></tr>
  </tr>

 </table>

要使table1具有填充,但table2没有,您将使用适当的CSS规则来识别和设置表格:

.table1, .table1 td, .table1 th
{
padding: 5px;
}

.table2, .table2 td, .table2 th
{
padding: 0px;
}

我有很多方法可以用CSS做到这一点。例如,在这种情况下你也可以使用id,但是使用类更容易,因为id只能在每个文档中使用一次。

在这种情况下,稍微好一点的方法是利用级联规则。我本来可以保留原来的CSS并添加第二组规则:

.table, .table td, .table th
{
padding: 5px;
}

.table2, .table2 td, .table2 th
{
padding: 0px;
}

在这种情况下,只有类table2的表将具有0px填充 - 所有其他表将具有5px填充。

阅读W3CSchools对CSS的介绍 - http://www.w3schools.com/css/css_intro.asp是一个好主意。这将向您介绍基础知识并帮助您顺利上路。

答案 5 :(得分:0)

<table cellpadding='0'>如果这不起作用,您可以创建一个css类来删除填充并在表中使用它:<table class='no_padding'>