IE浏览器渲染我的DropDownList的方式存在一些问题。 在Firefox中,它看起来应该和我想要的方式显示在IE中。 这里是下拉列表中的Firefox截图:Internet Explorer中的dropdownlist样式
截图在IE:
我想下拉,扩大垂直向上,直至在下拉列表是,我不您不希望下拉菜单低于现有的下拉控件。 有一些窍门如何用CSS来做到这一点? 在此先感谢,Laziale
IE浏览器渲染我的DropDownList的方式存在一些问题。 在Firefox中,它看起来应该和我想要的方式显示在IE中。 这里是下拉列表中的Firefox截图:Internet Explorer中的dropdownlist样式
截图在IE:
我想下拉,扩大垂直向上,直至在下拉列表是,我不您不希望下拉菜单低于现有的下拉控件。 有一些窍门如何用CSS来做到这一点? 在此先感谢,Laziale
这只是下拉式菜单在Internet Explorer 10及更高版本(以及Windows应用商店应用)中的工作方式:当菜单打开时,所选项目将覆盖下拉控制,其他项目出现在其上方和下方。据推测,微软做出了这样的改变,使得the menu is more touch friendly。
我浏览了the list of CSS properties supported by Internet Explorer,但我没有注意到任何影响菜单位置的东西。因此,如果这种行为是不可接受的,您需要避开原生操作系统控制,转而使用基于HTML/CSS的下拉菜单,如jQuery Selectmenu或Telerik的RadDropDownList。
下拉列表基本上由浏览器控制。有限的样式有时会起作用,但它是完全不可信的跨浏览器。这是因为他们通常实际使用操作系统的渲染进行下拉。
如果你想在你的下拉完全控制,你必须自己从头开始使用<ul>
的和<li>
的绘制,使下拉触发<a>
标签和使用JavaScript来切换<ul>
和转让选择值的可视性。
JavaScript插件存在,它需要现有的下拉菜单&做一些可比的事情。我不知道哪一个与您的请求完全匹配,但是在组合框模式(http://jqueryui.com/autocomplete)中类似JQueryUI自动完成可能会为您提供一个良好的起始点。
这是该控制在Internet Explorer 10根据列表中的项目数量和屏幕的大小,默认行为,其他浏览器将以不同的显示菜单尽管我认为IE10是唯一的浏览器,当打开下拉菜单时,它将平衡选择元素上下的项目数量。
原因是每个浏览器都有不同的选择框。实现一个漂亮的crossbrowser支持的选择框几乎是不可能的。执行“安全”实施的唯一方法是隐藏选择框并将其替换为自定义选择列表实施。
我强烈建议使用已经存在的组件。如果你已经使用jQuery,看看Select2。
Select2是一个基于jQuery的替代选择框。它支持搜索,远程数据集和结果的无限滚动。
我用它,因为我的网页上几个月的时间,我可以说,这是绝对好吃。
这个jsfiddle不是最终的,但如果你在每个浏览器中看起来都一样,你将没有选择拥有自己的自定义选择列表。
在我的jsfiddle中的例子是我实现选择列表最简单的方法。通过使用<input type="radio" />
单选按钮,很容易通过css对其进行自定义并获取选定的值。
只要看看它。
我支持上述溶液中。我们需要使用无序列表构建我们自己的下拉列表,并在li上使用悬停事件来显示下拉列表。 这可以通过纯CSS来完成。我不认为我们需要任何JavaScript插件。 – user2594152