所以,我正在尝试制作一个简单的互动日历。最初我想要显示几个月,但当鼠标悬停一个月以上时,我希望所有的个人日子都出现。最后,我希望能够每天点击查看当天的内容。
以下是我目前的情况:http://jsfiddle.net/r8orrebk/
HTML:
<div id = "calendar">
<div class="month">
January
<table class="days">
<tr>
<td></td>
<td></td>
<td></td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
</tr>
<tr>
<td>12</td>
<td>13</td>
<td>14</td>
<td>15</td>
<td>16</td>
<td>17</td>
<td>18</td>
</tr>
<tr>
<td>19</td>
<td>20</td>
<td>21</td>
<td>22</td>
<td>23</td>
<td>24</td>
<td>25</td>
</tr>
<tr>
<td>26</td>
<td>27</td>
<td>28</td>
<td>29</td>
<td>30</td>
<td>31</td>
<td></td>
</tr>
</table>
</div>
<div class="month">February</div>
<div class="month">March</div>
<div class="month">April</div>
<div class="month">May</div>
<div class="month">June</div>
<div class="month">July</div>
<div class="month">August</div>
的CSS:
.days {
display: none;
border: 1px solid;
}
.month {
width: 24%;
height: 150px;
float: left;
border: 1px solid;
margin: -1px 0 0 -1px;
}
.month:hover > .days {
display: block;
}
实现这一目标的最佳方法是什么?我刚开始使用HTML和CSS,所以我甚至不知道使用表格是不是一个好主意。与我现在的情况不同,我希望这些日子可以填满整个月份。
我应该使用javascript / jquery而不是在CSS中悬停吗?
另外,有没有办法让我可以赚一个月的日子,每个月只使用它,或者我需要像现在一样每天制作div或td?
谢谢。
答案 0 :(得分:0)
当.days
激活且display:block
时,默认为100%宽。这就是块显示的工作原理。
您可以通过将显示设置为表而不是块来修复它:
.month:hover > .days {
display: table;
}