当前位置:  开发笔记 > 编程语言 > 正文

IE中的下拉列表宽度

如何解决《IE中的下拉列表宽度》经验,为你挑选了7个好方法。

在IE中,下拉列表与dropbox的宽度相同(我希望我有意义),而在Firefox中,下拉列表的宽度根据内容而有所不同.

这基本上意味着我必须确保Dropbox足够宽以显示尽可能长的选择.这使我的页面看起来很难看:(

这个问题有解决方法吗?如何使用CSS为dropbox和下拉列表设置不同的宽度?



1> BalusC..:

这是另一个基于jQuery的示例.与此处发布的所有其他答案相反,它会考虑所有键盘和鼠标事件,尤其是点击次数:

if (!$.support.leadingWhitespace) { // if IE6/7/8
    $('select.wide')
        .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
        .bind('click', function() { $(this).toggleClass('clicked'); })
        .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); }})
        .bind('blur', function() { $(this).removeClass('expand clicked'); });
}

将它与这块CSS结合使用:

select {
    width: 150px; /* Or whatever width you want. */
}
select.expand {
    width: auto;
}

您需要做的就是将类添加wide到相关的下拉元素中.


这是一个jsfiddle的例子.希望这可以帮助.


@DMin:抱歉,我们不支持像IE6这样的古老和已弃用的浏览器.
@BalusC::)我知道我的朋友IE糟透了 - 不过我用你的答案,它适用于IE7 - 为IE6写了单独的代码,包括你的答案+绑定.('mouseenter'.. - 工作正常 - 谢谢无论如何! :)
根据你的其他css规则 - 你可能必须添加!important到宽度..`width:auto!important;`
+1:从这里提出的所有解决方案来看,这对我来说是最好的.我还需要进行CSS和HTML更改,以使其适用于我的情况.这么多工作,对于应该开箱即用的东西.

2> Sleep Depriv..:

创建自己的下拉列表更令人痛苦.您可以使用一些JavaScript来使IE下拉工作.

它使用了一些YUI库和一个特殊的扩展来修复IE选择框.

您将需要包含以下内容并将您的


注意:$ .browser.msie确实需要jquery.



5> Tinus..:

@Thad你还需要添加一个模糊事件处理程序

$(document).ready(function(){
    $("#dropdown").mousedown(function(){
        if($.browser.msie) {
            $(this).css("width","auto");
        }
    });
    $("#dropdown").change(function(){
        if ($.browser.msie) {
            $(this).css("width","175px");
        }
    });
    $("#dropdown").blur(function(){
        if ($.browser.msie) {
            $(this).css("width","175px");
        }
    });
});

但是,这仍然会在点击时扩展选择框,而不仅仅是元素.(它似乎在IE6中失败,但在Chrome和IE7中完美运行)



6> Robert C. Ba..:

在IE6/IE7/IE8中无法做到这一点.控件是由应用程序绘制的,IE浏览器根本不会这样绘制.最好的办法是通过简单的HTML/CSS/JavaScript实现自己的下拉菜单,如果下拉一个宽度和列表另一个宽度那么重要.



7> 小智..:

如果你使用jQuery然后尝试这个IE选择宽度插件:

http://www.jainaewen.com/files/javascript/jquery/ie-select-style/

应用此插件使得Internet Explorer中的选择框看起来像在Firefox,Opera等中一样工作,允许选项元素以全宽打开而不会丢失固定宽度的外观和样式.它还在Internet Explorer 6和7中的选择框中添加了对填充和边框的支持.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有