18

通常你可以这样做:

<select size="3">
    <option>blah</option>
    <option>blah</option>
    <option>blah</option>
</select>

它会呈现为一个选择框,其中所有三个选项都是可见的(不下拉)
我正在寻找一种从 css 设置这个大小属性的方法。

4

7 回答 7

8

没有设置大小的选项,但如果您确实设置了大小,某些浏览器将允许您通过 CSS 将宽度/高度属性设置为您想要的任何值。

一些 = Firefox、Chrome、Safari、Opera。

虽然在 IE 中没有多少工作(不足为奇)

但是,如果您愿意,可以在 IE 中使用 CSS 表达式来检查是否设置了 size 属性,如果是,则运行 JS 将其(重新)设置为您想要的大小...例如

size = options.length;
于 2008-09-23T17:09:38.870 回答
6

我不认为这是可能的。

CSS 属性非常通用(适用于任何元素)并且无法以任何方式改变元素的功能(仅外观)。

至少在 size = 1 / size != 1 的情况下,size 属性正在改变元素的功能。

于 2008-09-23T09:09:39.680 回答
2

我不同意,我已经能够使用 CSS 设置选择宽度和高度,如下所示:

select { width: 5em; height: 5em; }

在 IE(7) 中工作,我刚刚测试过它。

于 2009-06-09T18:20:21.907 回答
2

试试这个:

select[attr=size] {
    width:auto;
    height:auto;
}
于 2014-03-12T02:34:10.727 回答
1

您可以使用以下 CSS 选择器为具有 size 属性的选择项设置样式:

select[size]{
/*your style here */
}
于 2015-07-06T12:04:07.280 回答
0

一般来说,您不能通过 CSS 添加在 html 中设置的属性。您可以使用伪选择器 :before 和 :after 添加到 html 中,但仅此而已,而且它们仍然不能在所有浏览器中兼容。如果你真的需要这样做,我认为你必须求助于 Javascript。

于 2008-09-23T09:38:00.920 回答
-2

我不相信这是可能的 不

于 2008-09-23T09:06:31.857 回答