【问题标题】:Table filling div on hover悬停时表格填充div
【发布时间】:2014-08-12 21:02:22
【问题描述】:

所以,我正在尝试制作一个简单的交互式日历。最初我只想显示几个月,但是当鼠标悬停在一个月以上时,我希望显示所有单独的日子。最终,我希望能够点击每一天来查看当天的内容。

这是我目前所拥有的: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,所以我什至不知道使用表格是否是个好主意。与我现在不同的是,我希望这些天能填满整个月的 div。

我应该使用 javascript/jquery 而不是在 CSS 中悬停吗?

另外,有没有一种方法可以让我花费一个月的时间,然后每个月都使用它,或者我需要像现在一样为每一天制作一个 div 或 td 吗?

谢谢。

【问题讨论】:

  • 对于这个范围的东西,我建议使用现有的库,如 thisthis
  • 感谢您的回复。我不完全确定如何解释它,但日历是我计划制作的整个网站。我希望日历跨越整个屏幕。我认为插件在这里不是正确的选择。
  • FullCalendar 是一个全屏插件,但我知道有时要求您必须自己动手。 arshaw.com/fullcalendar

标签: javascript jquery html css


【解决方案1】:

.days 激活并且是display:block 时,它默认为100% 宽。这就是块显示的工作原理。

您可以通过将显示设置为表格而不是块来修复它:

.month:hover > .days {
    display: table;
}

【讨论】:

  • 如何让这个表跨越它所在的整个 div?
猜你喜欢
  • 1970-01-01
  • 2014-01-25
  • 2017-12-09
  • 1970-01-01
  • 2012-08-08
  • 2017-09-20
  • 2014-07-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多