我一直在使用 dropkick 开发一个新的下拉控件,我让它在 Chrome/FF 中工作,但在 IE8 中没有,遗憾的是这仍然是我们的目标。我使用单像素背景图像background-repeat:repeat-y
和background-size:x%
来获得所需的效果。
我发现 IE8 不支持背景大小为时已晚,我的问题是: 如何在 IE8 中模拟这种效果?
li
我的第一个想法是在标签内部和标签后面使用一些奇怪的 z 索引和可变宽度 div a
,但我在这方面的尝试并没有取得令人瞩目的结果(主要是因为我很难理解 css 定位)。我不确定这个控件驻留在可拖动和可调整大小的 jQuery 对话框上会使事情变得多么复杂,但是为了这个问题,我们可以假设它不会移动或改变。
最终结果是这样的:
括号中的数字以及填充百分比通过 AJAX 调用使用选项填充。
为 faux-dropdown 生成的代码遵循以下几行(截断列表):
<div class="dk_options" style="top: 19px;">
<ul class="dk_options_inner">
<li class=" ">
<a style="background-size:0%;" data-dk-dropdown-value=""> </a>
</li>
<li class="dk_option_current ">
<a style="background-size:6.6666666666666666666666666700%;" data-dk-dropdown-value="08:30AM">8:30 AM (1)</a>
</li>
<li class=" ">
<a style="background-size:13.333333333333333333333333330%;" data-dk-dropdown-value="08:45AM">8:45 AM (2)</a>
</li>
<li class=" ">
<a style="background-size:100%;" data-dk-dropdown-value="09:00AM">9:00 AM (15)</a>
</li>
<li class=" ">
<a style="background-size:0%;" data-dk-dropdown-value="09:15AM">9:15 AM (1)</a>
</li>
<li class=" ">
<a style="background-size:6.6666666666666666666666666700%;" data-dk-dropdown-value="09:30AM">9:30 AM (1)</a>
</li>
</ul>
</div>
</div>
相关的css是这样的:
.dk_options_inner li {
background:white;
}
.dk_options a {
background-image:url(./images/dot.png);
background-repeat:repeat-y;
}