0

我正在编写一个日历,并试图将包含在 div 中的日历编号保留在同一位置。但是,当我在 div 中为事件添加文本时,文本似乎将数字向上推。从阅读中我收集到这与块元素垂直相互推动有关。我已将数字 div 和事件 div 中的位置设置为相对,因为如果我将其转换为绝对,那么所有元素都会相互打印。而且我尝试了各种其他css标签组合,但均无济于事。

这是一个说明问题和代码的jsfiddle :

css

table.calendar {
    table-layout: fixed;
    width: 520px;
}
div.day-number   { 
    background:#999; 
    z-index:2; 
    top:0px; 
    right:1px; 
    padding:4px; 
    color:#fff; 
    font-weight:bold; 
    width:18px; 
    text-align:center;
}
td.calendar-day, td.calendar-day-np { 
    width:70px; 
    padding:5px 25px 5px 5px; 
    border-bottom:1px solid #999; 
    border-right:1px solid #999; 
}
div.event {
    position:relative; 
    z-index:3; 
    top:15px;
    text-width: 70px;
}

html

<table class="calendar">
    <tr>
        <td>Mon</td>
        <td>Tue</td>
        <td>Wed</td>
        <td>Thur</td>
        <td>Fri</td>
</tr>
<tr>
         <td class="calendar-day"><div class="day-number">14</div><p>&nbsp;</p><p>&nbsp;</p></div></td>
    <td class="calendar-day"><div class="day-number">15</div><p>&nbsp;</p><p>&nbsp;</p></div></td>
<td class="calendar-day"><div class="day-number">16</div><div class="event">4:00PM<br>Go to gym</div><p>&nbsp;</p><p>&nbsp;</p></td>
    <td class="calendar-day"></td>
    <td class="calendar-day"><div class="day-number">18</div><p>&nbsp;</p><p>&nbsp;</p></div></td>
            </tr></table>

任何人都可以建议解决此问题。提前致谢。

4

2 回答 2

1

这是我认为应该如何完成的js小提琴,

http://jsfiddle.net/CarlG/FCq3U/

你会注意到我没有使用表结构。

Table用于我认为不太属于日历类别的表格数据,原因是使用table将限制您如何使用 css 操作日历的外观和感觉。

相反,我使用了div标签。

于 2013-05-19T11:29:53.693 回答
0

在日历日课程中添加以下行。

vertical-align:top;
于 2013-05-19T11:36:04.790 回答