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>ますinline-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 に答える