gpt4 book ai didi

javascript - Lightning 生成的 html 列表水平对齐问题

转载 作者:行者123 更新时间:2023-11-28 01:28:44 25 4
gpt4 key购买 nike

我最近接手了一个由另一位开发人员发起的小元素,该元素的核心部分之一是在日历上显示信息。该日历是在 salesforce lightning 组件中使用 Javascript 创建的,JS 创建了一个无序列表,然后用充当日期的列表项填充该列表。问题就在这里,每当一天之内显示诸如链接之类的信息时,列表项就会移动,以便每天的最后一行与前一天对齐,如下所示:

splinter 的日历日:

enter image description here

每个列表项都包含一个段落标签,该标签包含日期和一个链接(如果适用),每个链接由换行符分隔。

这是 lightning 组件中的 javascript:

var number = DayNumber(i + 1);
// Check Date against Event Dates
for (var n = 0; n < calendar.Model.length; n++) {
var evDate = calendar.Model[n].Date;
var toDate = new Date(calendar.Selected.Year, calendar.Selected.Month, (i + 1));
if (evDate.getTime() == toDate.getTime()) {
number.className += " eventday";
var title = document.createElement('span');
title.className += "cld-title";
if (typeof calendar.Model[n].Link == 'function' || calendar.Options.EventClick) {
var a = document.createElement('a');
a.setAttribute('href', '#');
a.innerHTML += calendar.Model[n].Title;
if (calendar.Options.EventClick) {
var z = calendar.Model[n].Link;
if (typeof calendar.Model[n].Link != 'string') {
a.addEventListener('click', calendar.Options.EventClick.bind.apply(calendar.Options.EventClick, [null].concat(z)));
if (calendar.Options.EventTargetWholeDay) {
day.className += " clickable";
day.addEventListener('click', calendar.Options.EventClick.bind.apply(calendar.Options.EventClick, [null].concat(z)));
}
} else {
a.addEventListener('click', calendar.Options.EventClick.bind(null, z));
if (calendar.Options.EventTargetWholeDay) {
day.className += " clickable";
day.addEventListener('click', calendar.Options.EventClick.bind(null, z));
}
}
} else {
a.addEventListener('click', calendar.Model[n].Link);
if (calendar.Options.EventTargetWholeDay) {
day.className += " clickable";
day.addEventListener('click', calendar.Model[n].Link);
}
}
title.appendChild(a);
} else {
title.innerHTML += '<a href="' + calendar.Model[n].Link + '">' + calendar.Model[n].Title + '</a>';
}
number.innerHTML += "</br>" + title.innerHTML;
}
}
day.appendChild(number);

它们以行内 block 形式显示,并使用边框来营造日历的错觉。有什么方法可以改变或覆盖此列表对齐其元素的方式吗?

最佳答案

所以问题是由无序列表如何处理行内对齐引起的。我修改了 day 元素的 css 以包含 overflow : auto,这针对由文本引起的垂直对齐问题进行了调整。

关于javascript - Lightning 生成的 html 列表水平对齐问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51105842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com