如何更改下拉列表的宽度?


70

我有一个列表框,我想减小其宽度。

这是我的代码:

<select name="wgtmsr" id="wgtmsr" style="width: 50px;">
  <option value="kg">Kg</option>
  <option value="gm">Gm</option>
  <option value="pound">Pound</option>
  <option value="MetricTon">Metric ton</option>
  <option value="litre">Litre</option>
  <option value="ounce">Ounce</option>
</select>

此代码在IE 6上有效,但在Mozilla Firefox(最新版本)中无效。有人可以告诉我如何减少widthFirefox上的下拉列表吗?


它确实可以在Firefox 17.0.1上运行。
克里斯

1
您的代码应该很好地工作在所有浏览器..
techfoobar


为什么不根据内容的宽度更改宽度?stackoverflow.com/questions/20091481/...
若昂·皮门特尔·费雷拉

Answers:


84

试试这个代码:

<select name="wgtmsr" id="wgtmsr">
<option value="kg">Kg</option>
<option value="gm">Gm</option>
<option value="pound">Pound</option>
<option value="MetricTon">Metric ton</option>
<option value="litre">Litre</option>
<option value="ounce">Ounce</option>
</select>

CSS:

#wgtmsr{
 width:150px;   
}

如果要更改选项的宽度,可以在CSS中执行以下操作:

#wgtmsr option{
  width:150px;   
}

也许您的CSS规则中有一个冲突,该冲突覆盖了您选择的宽度

演示


4
与OP有什么不同?
克里斯

2
内联style定义会覆盖所有其他样式(除非有!important),所以我不这么认为。OP的原始代码即使在Firefox 17.0.1上也可以正常工作。
克里斯(Chris

1
@ Abody97也许他的CSS有冲突
Alessandro Minoccheri 2012年

1
非常感谢你的帮助。是的,选项宽度不能正常工作,但是现在使用#wgtmsr option {width:50px;}可以正常工作(也可以通过使用类工作)。但是在我将宽度样式放入每个选项标签以及选择标签中之前,不行 是的,可能被覆盖了。
user1844626

5
仅供参考,这在Chrome或IE11上似乎没有什么区别,但是随着OP要求为Firefox工作,我一直在寻找一些更通用的东西... :(
PJUK

9

下拉宽度本身无法设置。它的宽度取决于选项值。另请参阅此处(jsfiddle.net/LgS3C/)

选择框的外观还取决于您的浏览器。

您可以构建自己的控件或使用Select2 https://select2.org


6

这个:

<select style="width: XXXpx;">

XXX =任何数字

在Google Chrome v70.0.3538.110中运行良好


5

尝试使用该!important参数来确保CSS与指定的其他样式不冲突。在添加自己的样式之前,也可以使用reset.css

select#wgmstr {
    max-width: 50px;
    min-width: 50px;
    width: 50px !important;
}

要么

<select name="wgtmsr" id="wgtmsr" style="width: 50px !important; min-width: 50px; max-width: 50px;">

您实际上尝试了您的建议吗?如果这样做,您可能会注意到OP的原始代码已经可以使用。
克里斯(Chris

这就是为什么我建议他使用!important参数来确保代码与其他样式不冲突的原因。
Amyth

添加!important是唯一对我有用的东西。我总是忘记它。
塔斯(Tass)2016年


3

如果要控制下拉列表的宽度,可以执行以下操作。

的CSS

#wgtmsr option {
    width: 50px;
}

8
这似乎不起作用,至少在Chrome中不起作用。
Maximillian Laumeister

0

这对我有用:

ul.dropdown-menu > li {
    max-width: 144px;
}

在Chromium和Firefox中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.