Название события FullCalendar V2 отключено в режиме просмотра месяца
После обновления до V2 полноэкранного jquery я заметил, что события с длинными заголовками были отключены.
Я работал над этой проблемой, добавляя CSS, но теперь возникает другая проблема - событие с длинным заголовком, кажется, расширяет всю строку, в результате чего в соседние дни появляется белое пространство, в котором есть события с короткими заголовками.
Добавлен CSS
.fc-day-grid-event > .fc-content {
white-space: inherit; }
Смотрите: http://jsfiddle.net/uawsdebv/10/
2 события 13 ноября имеют пустую строку/высоту между ними, вызванную длинным событием 12 ноября.
Я в недоумении - может ли кто-нибудь помочь?
Ответы
Ответ 1
Поскольку структура HTML календаря основана на строках, невозможно поплавать элементы, как это было раньше (высота строки задана для элемента самой высокой высоты внутри строки).
В качестве альтернативы вы можете сделать это,
.fc-day-grid-event > .fc-content {
white-space: normal;
text-overflow: ellipsis;
max-height:20px;
}
.fc-day-grid-event > .fc-content:hover {
max-height:none!important;
}
По умолчанию будет скрывать заголовок, а при наведении на него будет отображаться заголовок полностью.
Здесь как это работает jsfiddle
Ответ 2
Вы можете указать максимальную высоту для каждого события и использовать многоточие переполнения текста. Целый заголовок события может отображаться с помощью мыши с использованием атрибута title html.
//CSS
.fc-day-grid-event > .fc-content {
text-overflow: ellipsis;
white-space: nowrap;
cursor: pointer; // for showing title
max-height:20px; // can be adjusted according to your requirement
}
//JQuery
$(".fc-content").each(function(){
$(this).attr("title",$(this).text());
})
Вот ссылка jsFiddle
Ответ 3
Основываясь на структуре jQuery Calendar, на самом деле нет никакого способа достичь желаемого. Это связано с тем, что события находятся в строках таблицы. Как уже упоминалось в первом комментарии к вашему вопросу:
Между V2.0.0 (я использую этот) и V2.2.6 (тот, который вы используете) построение повестки дня переместилось с divs
на tables
. Если вы измените свой CSS и JS на V2.0.0, вы увидите, что ваша проблема исчезнет: jsfiddle.net/uawsdebv/12 Я считаю, что это скорее работа, чем ответ. Возможно, можно изменить css относительно тега, но я недостаточно продвинутый в CSS, чтобы узнать, что может быть решением.
Вероятно, вы можете увидеть, что это единственный способ решить эту проблему, насколько я знаю.
Ответ 4
Нет прямого решения вашей проблемы. Проблема заключается в том, что календарь структурирован с использованием таблиц.
Ответ 5
Ваши намерения здесь работают против основных операций структуры таблицы.
Высота строки таблицы постоянна для каждой строки соответственно, если у вас есть td разной высоты в строке, тогда строка будет адаптировать ее высоту к наибольшему td, а меньшая td в этой строке будет иметь пустое пространство между ними и следующей строки.
Вы можете обойти это с помощью вложенных таблиц, которые по существу используют таблицы в td.
Ответ 6
Кажется, проблема связана со свойством white-space
в классе fc-content
.
В моем случае я избавился от этого следующим образом:
.fc-content{white-space:normal}