我无法将元素垂直对齐到底部

时间:2015-04-06 01:14:23

标签: javascript html css css3 fullcalendar

我在表格中添加了一些代码以垂直对齐底部的一些td元素(fullcalendar事件)。这是我原来的post。我从给出的答案中添加了必要的代码,并在底部对齐了所有内容。现在我想要另一个元素(多事件链接)也与底部对齐,但在开发工具中,它显示了一条穿过css的线,它仍然在中间对齐。 我想要的是在日期单元格中的eventLimit(class = fc-more-cell)在一天的底部对齐,就像单个事件在底部对齐一样。图片张贴如下。 这是我的fiddle link



$(document).ready(function() {

    // page is now ready, initialize the calendar...
    var eventsArray = [
            {
                title: 'Test1',
                start: new Date()
            },
            {
                title: 'Test2',
                start: new Date("2015-04-21")
            },
            {
                title: 'Test3',
                start: new Date("2015-04-21")
            }
        ];

    $('#calendar').fullCalendar({
        // put your options and callbacks here
        header: {
            left: 'prev,next', //today',
            center: 'title',
            right: ''
        },
        defaultView: 'month',
        editable: true,
        allDaySlot: false,
        selectable: true,
        events: eventsArray,
        eventLimit: 1
    })

});

.fc-event {
    border-radius: 0;
}

.fc-row .fc-content-skeleton {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.fc-content-skeleton table {
    height: 100%
}

.fc-content-skeleton .fc-event-container {
    vertical-align: bottom;
}

.fc-more-cell {
    vertical-align: bottom;
}

a.fc-more {
    position: relative;
    display: block;
    font-size: 0.85em;
    line-height: 1.3;
    border-radius: 3px;
    border: 1px solid #3a87ad;
    background-color: #3a87ad;
    font-weight: normal;
    color: #fff;
    border-radius: 0;
}

<link href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/2.3.1/fullcalendar.js"></script>


<div style="border:solid 2px red;">
    <div id='calendar'></div>
</div>
&#13;
&#13;
&#13;

这是元素在开发工具中的样子。你可以看到.fc-more-cell的内容是通过它的一行。 enter image description here

1 个答案:

答案 0 :(得分:1)

开发人员工具中通过CSS属性的行意味着重写了设置。您可以看到vertical-align: top在上面几行中设置了更具体的CSS。要解决此问题,您的fc-more-cell选择器需要更具体地识别元素。在我的测试中添加td

td.fc-more-cell {
  vertical-align: bottom;
}

CSS,如层叠样式表,根据CSS选择器的特异性应用属性。更具体=更重要。

另一件事 - 该特定元素在HTML中获得rowspan="1"。如果您希望它真正在当天的最低点,则需要将其设置为rowspan="2"。这看起来是由您正在使用的库设置的。除非可以在该库中进行配置,否则您必须使用JavaScript底部的文件设置。已完成块:

$('td.fc-more-cell').attr('rowspan', 2);

工作小提琴:https://jsfiddle.net/4v65ggos/25/