Hello there
,我刚刚创建了这个 datepicker 东西,结果非常酷,只是它在 div 下方创建了一些非常烦人且看起来很奇怪的空白,当它为空并且看起来更高时,请参阅小提琴 > http://jsfiddle.net/VtKkM/2/任何非常感谢您的帮助!
4 回答
它的行高和页面的字体大小可以通过
像这样将行高样式添加到您的datePicker类中:
line-height: 8px;
或更改字体大小,如:
font-size: 10px;
编辑:
并且当您从选择中选择某个值时移动,您应该将跨度设置为position: absolute;
.datePicker > div > span{
position: absolute;
}
编辑2:
或者您可以在您的跨度中第一次设置空间值,更改<span></span>
为<span> </span>
Edit3: 我更改了此行以在 span 标记之间添加初始空间,检查 添加 onload datepicker 的值:
$.each(picker.children(), function () {
$(this).wrap('<div>').change(function () {
if ($(this).hasClass('month')) {
$(this).prev().html(months[$(this).val() - 1]);
} else {
$(this).prev().html($(this).val());
}
}).parent().prepend('<span> </span>');
if ($(this).hasClass('month')) {
$(this).prev().html(months[$(this).val()]?months[$(this).val()]:" ");
} else {
$(this).prev().html($(this).val()?$(this).val():" ");
}
});
编辑4:
和 css 方式,您可以通过将填充样式添加到空跨度来修复它,如下所示:
.datePicker > div > span:empty{
padding:5px;
}
目前还没有弄清楚问题所在,但是当跨度为空时,它似乎不喜欢它。至少就目前而言,一种解决方法是仅用空格 (
) 替换空白选项,这样仍然会有它为空但跨度在技术上仍然包含值的错觉。这可能不是一个永久的解决方案,但它现在可以工作。
详细说明:
var days = '<option></option>',
您的 js 的第 2行
将从
var days = '<option> </option>',
第 32 行将从}).parent().prepend('<span></span>');
到}).parent().prepend('<span> </span>');
.datePicker > div {
display:inline;
position:relative;
min-width: 18px;
min-height:28px;
padding:0 5px 0 5px;
}
只需将 display:inline-block 更改为 display:inline
我可以通过给 .datePicker 选择 5px 的边距来解决它看起来很高的部分。