表行之间的空间

时间:2010-05-19 16:07:43

标签: asp.net html css

这应该是一个简单的问题,但是我很难让html显示我想要的方式...

问题是我的表行之间的空间......我不希望行之间有空格。我只是希望我的表看起来像带有黑色边框的电子表格。我正在使用datalist并在datalist控件的模板中有一个表。我现在已经搞乱了几个小时,我尝试了一些不同的CSS和表属性。谁能告诉我哪里出错了?以下是我目前的标记。

<style type="text/css">
.tdHeader
{
    border-color: Black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial;
    font-size: 8pt;
    margin: 0;
    background-color: #DCDCDC;
    font-weight: bold;
}
.tdBorder
{
    border-color: Black;
    border-style: solid;
    border-width: 1px;
    font-family: Arial;
    font-size: 8pt;
    margin: 0;
    text-align: center;
}
.trNoSpace
{
    margin: 0;
    padding: 0;
}
</style>

<asp:DataList ID="DataList1" runat="server" DataKeyField="Oid" 
DataSourceID="xdsHUDEligibilityMember">
<HeaderTemplate>
    <table cellspacing="0" width="600">
        <tr class="trNoSpace">
            <td class="tdHeader" width="100">Household Member Number
            </td>
            <td class="tdHeader">Household Member Name
            </td>
            <td class="tdHeader">Age of Household Member
            </td>
        </tr>
</HeaderTemplate>
<ItemTemplate>
        <tr class="trNoSpace">
            <td class="tdBorder">
                <asp:Label ID="Label2" runat="server" Text='<%# Eval("Oid") %>' />
            </td>
            <td class="tdBorder">  
                <asp:Label ID="Label1" runat="server" Text='<%# Eval("FullName") %>' />
            </td>
            <td class="tdBorder">
                <asp:Label ID="AgeAtEffectiveDateLabel" runat="server" Text='<%# Eval("AgeAtEffectiveDate") %>' />
            </td>
        </tr>
</ItemTemplate>    
<FooterTemplate>
        <tr class="trNoSpace">
            <td class="tdBorder">
            </td>
            <td class="tdBorder">
            </td>
            <td class="tdBorder">
            </td>
        </tr>
    </table>
</FooterTemplate>

5 个答案:

答案 0 :(得分:2)

首先,我认为您需要使用GridView控件。然后在标记中,务必将cellpaddingcellspacing设置为零,然后应用以下CSS ......

table { border-collapse: collapse; }
table tr, table td, table th { border: solid 1px #000; margin: 0; padding: 0; }

答案 1 :(得分:0)

我相信你在寻找:

 border-collapse: collapse;

它将相邻的边界折叠为一个。

答案 2 :(得分:0)

尝试将DataList CellPadding和CellSpacing属性设置为零。

答案 3 :(得分:0)

This对于解决这些问题非常方便。

答案 4 :(得分:0)

GridView被渲染为表格,并且使间距变得简单,可以更改表格列之间的填充。首先为GridView创建一个主要的css名称:

<asp:GridView ID="GridView1" CssClass="MyGridView" runat="server">

然后在css中根据需要更改表colums padding:

`.MyGridView{
border: none;

}

 .MyGridView tr{
  text-align: left;
  vertical-align: top;

 }

.MyGridView td{
  vertical-align: top;
 padding-bottom: 100px;

  }`