22

我将表 event_calendar tr 的边框设置为红色,它适用于除 IE 6 和 7 之外的所有内容。我的 CSS 有什么问题?

table#event_calendar tr {
    border:1px solid red;
}

<div class="content-body">
<table id="event_calendar">
    <tr class="calendarHeader">
        <th><div class="calendarMonthLinks"><a href="http://webdev.herkimer.edu/calendar/2009/03/">&lt;&lt;</a></div></th>
        <th colspan="5"><h1>April 2009</h1></th>
        <th><div class="calendarMonthLinks"><a class="calendarMonthLinks" href="http://webdev.herkimer.edu/calendar/2009/05/">&gt;&gt;</a></div></th>
    </tr>
    <tr>
        <td class="calendarDayHeading">Sunday</td>
        <td class="calendarDayHeading">Monday</td>
        <td class="calendarDayHeading">Tuesday</td>
        <td class="calendarDayHeading">Wednesday</td>
        <td class="calendarDayHeading">Thursday</td>
        <td class="calendarDayHeading">Friday</td>
        <td class="calendarDayHeading">Saturday</td>
    </tr>
</table>
</div>
4

4 回答 4

54

IE 不支持 <tr> 标记的边框属性。但是,可以通过在每个单元格周围放置一个顶部和底部边框并使用“border-collapse:collapse;”来解决问题。所以单元格之间没有空间。我将在此处参考此资源的确切方法,但它对您来说基本上看起来像这样(我自己没有测试过,所以我不确定这是否完全正确,但我认为您可以重复一下.)

table#event_calendar {
    border-collapse: collapse;
    border-right: 1px solid red;
    border-left: 1px solid red;
}

table#event_calendar td, table#event_calendar th {
    border-top: 1px solid red;
    border-bottom: 1px solid red;
}
于 2009-02-24T21:04:49.360 回答
7

您的 CSS 足够明智,但 IE 只是没有在 tr 元素上设置边框。如果你使用这种风格,你应该得到预期的结果:

table#event_calendar {
    border-top:1px solid red;
    border-right:1px solid red;
    border-left:1px solid red;
    border-collapse:collapse;
}

table#event_calendar td, table#event_calendar th {
    border-bottom:1px solid red;

}
于 2009-02-24T21:08:10.070 回答
4

在 td 上设置边框是最简单的解决方案。但是如果你真的想在 上设置边框<tr>,你可以随时设置:

tr { display:block; border-bottom:1px dotted #F00; }

通过这样做,您会失去<td>. 如果要使它们的宽度相等,请将显示设置为<td>toinline-block并设置一些宽度:

td { display:inline-block; width:20%; }

当您想在<td>和 上绘制一些边框时,它会有所帮助<tr>

CSS 生成的内容喜欢tr:before{}tr:after{}总是可以提供帮助。

于 2012-07-12T12:52:06.843 回答
0

将您的 CSS 选择器更改为“table#event_calendar tr td ”,它应该可以工作。

于 2009-02-24T21:00:45.797 回答