Html 设置标签';通过css的大小属性?

Html 设置标签';通过css的大小属性?,html,css,html-select,Html,Css,Html Select,通常您可以这样做: <select size="3"> <option>blah</option> <option>blah</option> <option>blah</option> </select> 废话 废话 废话 它将呈现为一个选择框,其中所有三个选项都可见(无需下拉) 我正在寻找一种从css设置此大小属性的方法。我不相信这是可能的不我认为这是不可能的 CSS

通常您可以这样做:

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

废话
废话
废话
它将呈现为一个选择框,其中所有三个选项都可见(无需下拉)

我正在寻找一种从css设置此大小属性的方法。

我不相信这是可能的不

我认为这是不可能的

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


size属性至少在size=1/size!=的情况下更改元素的功能1.

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

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

一些=Firefox、Chrome、Safari、Opera

不过在IE中没有太多的工作(毫不奇怪)

但是,如果需要,可以在IE中使用CSS表达式来检查size属性是否已设置,如果已设置,请运行JS以(重新)将其设置为所需的大小。。。e、 g

size = options.length;

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

select { width: 5em; height: 5em; }
在IE(7)中工作,正如我刚刚测试的那样。

试试这个:

select[attr=size] {
    width:auto;
    height:auto;
}

您可以使用以下CSS选择器来设置具有“大小”属性的选择项的样式:

select[size]{
/*your style here */
}

这是一个老问题,但当使用小于4的大小时,我遇到了Safari忽略size=属性的问题。我能够在css
height:3em中使用上述建议
将多选一致设置为大约2行(FF8、IE9、Safari4、Chrome15)。这似乎是对size=2属性的合理替代。这个答案不适用于这个问题-OP所说的是size属性,而不是物理大小。size属性将下拉列表转换为可滚动的
n
元素列表,其中
n
是大小。在HTML中测试
size=2
,在CSS中测试
height:20em
,在IE8、FF13、Chrome19、Opera12中工作。我同意。我觉得这是jQuery的一份工作。嗨,marco,欢迎来到StackOverflow!请试着解释更多关于你的答案,而不仅仅是张贴代码。这将帮助人们找到并理解你的答案。这可能确实是对问题标题的回答。尸体实际上提出了一个稍微不同的问题。我对标题进行了编辑以使其更加清晰。这可能确实是对问题标题的回答。尸体实际上提出了一个稍微不同的问题。我编辑了标题以使其更清楚。