【问题标题】:max-width in select tag is not working in IE选择标签中的最大宽度在 IE 中不起作用
【发布时间】:2012-06-19 01:03:47
【问题描述】:

我有一个选择标签,... 像这样,..

<select style="max-width:150px"> 
     <option value='1'>bla bla bla bla bla bla bla ...(let's say a long words)
     ...... 
</select>

它适用于 FF,.. 但不是 ie,.. 比我更改最大宽度与宽度 style="width:150px"
它适用于两者,.. 但是,..
在即...文本被截断

有人可以帮助我吗? 我做错了吗? 有没有更好的解决方法?

对不起,如果我的英语不好:(

【问题讨论】:

标签: html css internet-explorer


【解决方案1】:

这里有一篇文章可以解释为什么 max-width 在您使用的 IE 版本中不起作用:

max-width in Internet Explorer

它展示了如何使用 CSS 表达式在 IE 中模拟 max-width 的示例:

<html>
<style>
body {
width:100%;
margin:0;
padding:0;}

p {
border:1px solid red;
max-width:800px;
width:expression(document.body.clientWidth > 800? "800px": "auto" );
}
</style>
<body>
<p>
[a lot of text]
</p>
</body>
</html>

免责声明:I'm not a fan of CSS expressions,但无论如何这应该可行。

【讨论】:

  • 请注意;您的最大宽度链接不再有效。
【解决方案2】:

This jQuery plugin 解决了您描述的问题。

在 Internet Explorer 中设置选择元素的固定宽度 [6/7/8] 将导致所有选择选项都比选择的更宽 设置要裁剪的宽度。

应用此插件可在 Internet Explorer 中创建选择元素 似乎可以像在 [现代浏览器] 中一样工作。

【讨论】:

  • 谁在这里要求使用 jQuery? ;)
  • @Sander:如果可以在没有 JavaScript 的情况下解决这个问题,那么为什么上面的 jQuery 插件会存在?接受的答案也使用 JavaScript(一个 CSS 表达式,which is bad and should be replaced with JavaScript!!)。如果您稍微使用过JavaScript,您可能还不如使用jQuery 之类的库。如果您找到了解决此问题的纯 CSS 解决方案,请分享它,您的反对票是有保证的。否则,您将无缘无故地否决此问题的有效解决方案。
  • @Sander:还请查看 cmets 中链接的问题:stackoverflow.com/questions/73960/dropdownlist-width-in-ie。惊喜,惊喜,它充满了 JavaScript/jQuery 修复。
  • 让我解释一下我的反对意见。我这样做的原因是因为在这种特定情况下没有询问 jQuery。 Andy West 通过 CSS 表达式提出了一个使用 JavaScript 的解决方案。这就是最大的不同之处:JavaScript 不是 jQuery。请考虑一个事实,并非这个星球上的每个网站都在使用该库。 ;)(在下一条评论中继续)
  • (接上一条评论)如果使用纯 JavaScript 的解决方案没问题,那么就不需要 jQuery。我有点厌倦了每个人都认为 jQuery 包含/是任何事情的解决方案,最后 jQuery 只不过是一个很棒但也很大的库,用于解决与 JavaScript 相关的跨浏览器问题。那么,为什么只为了这个修复包含一个完整的 jQuery 库呢?这就是我的观点。 :) 我会再次支持你的帖子(如果可以的话),因为我感谢你在思考方面的​​努力,但我只是不认为 jQuery 应该是解决任何问题的方法。
猜你喜欢
  • 2011-04-24
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 2015-04-30
相关资源
最近更新 更多