【问题标题】:Modify cells of HTML table修改 HTML 表格的单元格
【发布时间】:2011-06-21 18:30:52
【问题描述】:

我有一个使用 CSS 设置样式的 HTML 表格。该表由两行组成,但上一行只需要 3 列,而下一行有 5 列。

<table class="xp-flt-leg-sum" name="flightLegSummary">
    <tbody>
        <!--Row 1-->
        <tr class="xp-flt-ctyttl-fnt" name="from2City">
            <!--Col1 -->
            <td colspan="2" class="flightLegSummary xp-fl-md-lg"><span id="departureCity0">Seattle</span></td>
            <!--Col2 -->
            <td colspan="1" class="xp-fl-md-lg"><span id="arrivalCity0">New York</span></td>
            <!--Col3 -->
            <td colspan="2">
                <span id="connectingCity-0-0" class="xp-connecting-cities">
                    Charlotte                                         
                 </span>
            </td>
        </tr>
        <tr class="xp-flt-arptttl-fnt">
            <!--Col1 -->
            <td class="xp-flt-mdl-leg-col1 ">
                <span id="departureAirport0">SEA&nbsp;</span>
                <span id="departureTime0">
                    10:15pm
                </span>
            </td>
            <!--Col2 -->
            <td class="xp-flt-mdl-leg-colicn ">
                <span class="xp-flt-mdl-drctn-icn" id="directionIcon0"><!-- --></span>
            </td>
            <!--Col3 -->
            <td class="xp-flt-mdl-leg-col2 ">
                <span id="arrivalAirport0">LGA&nbsp;</span>
                <span id="arrivalTime0">
                    9:45am
                </span>
                <span style="display:inline-block;" id="addedDays">
                            +1&nbsp;Tag
                </span>
            </td>
            <!--Col4 -->
            <td class="xp-flt-mdl-leg-col3">
                <span class="xp-flt-leg-stop-span" id="flight0StopCount">
                    1&nbsp;Stopp
                </span>
            </td>
            <!--Col5 -->
            <td class="xp-flt-mdl-leg-col4">
                <span id="flightDuration0">8Std.&#8203;30Min.</span>
            </td>
       </tr>

    </tbody>
</table>

下面是控制表格的 CSS。

.xp-fl-md-lg {
    vertical-align: bottom !important;
}
.flightLegSummary {
    width: 111px;
}
#flightLegOutterCont .xp-flt-arptttl-fnt {
    color: #333333;
    font-size: 12px;
    font-weight: bold;
    line-height: 10px;
}

#flightModuleControl .xp-flt-mdl-leg-col1 {
    max-width: 52px;
    min-width: 52px;
    padding-bottom: 1px;
    padding-top: 6px;
}

#flightModuleControl .xp-flt-mdl-leg-colicn {
    max-width: 15px;
    padding-bottom: 1px;
    padding-top: 6px;
    text-align: center;
}
#flightModuleControl .xp-flt-mdl-leg-col2 {
    padding-bottom: 1px;
    padding-top: 6px;
    width: 110px;
}

#flightModuleControl .xp-flt-mdl-leg-col3 {
    padding-bottom: 1px;
    padding-right: 7px;
    padding-top: 5px;
    width: 76px;
}
#flightModuleControl .xp-flt-mdl-leg-col4 {
    padding-bottom: 1px;
    padding-top: 6px;
    width: 54px;
}

我面临的问题是我想将以下所有单元格修改为一定的宽度:

<Row1,Col1> 98px wide
<Row1,Col2> 130px wide
<Row2,Col1> 86px wide
<Row2,Col2> 12px wide
<Row2,Col3> 130px wide
<Row2,Col4> 76px wide

我一直在苦苦挣扎,我似乎无法将行修改为所需的宽度。另外,我不明白第一行 colspan 的作用。然而,当我移除时,它真的搞砸了细胞的定位。

【问题讨论】:

  • 你想要这样的东西吗? jsfiddle.net/79wey
  • @Kyle Undefined:这就是我想要的,但在我的情况下,执行 似乎不起作用。
  • 你有机会使用DIV's 吗?

标签: html css html-table


【解决方案1】:

Colspan 设置单元格应跨越的列数。这里有 3 个标题单元格,第一个跨越 2 列,第二个跨越 1,第三个跨越 2(在三个标题单元下方添加最多 5 列)。

看起来您希望顶部有 3 个单元格,下方有 4 个列,对吗?如果是这样,您需要将第 3 个标题单元格设置为 colspan=1,它将像下面的列一样为 76px 宽。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    将border="1" 添加到TABLE 标记可能有助于您理解colspan 的功能。这将向您展示如何扩展第 1 行的第 1 列以覆盖其下方行的两列。有时对它的工作原理进行可视化比一堆基于文本的解释更好。

    【讨论】:

      【解决方案3】:

      我认为 Michelle 很好地澄清了您的表格问题,我只想根据您的两行具有不同单元格宽度的静态布局添加这一点,您是否考虑过在容器中使用两行简单的浮动 div?我认为你会有更多的灵活性和更简单的代码。

      【讨论】:

        猜你喜欢
        相关资源
        最近更新 更多
        热门标签