Установить атрибут размера тега через css?

Обычно вы можете сделать это:

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

И он будет отображаться как выборка, в которой видны все три параметра (без опускания)
Я ищу способ установить этот атрибут размера из css.

Ответы

Ответ 1

Невозможно установить размер, но если вы установите размер, некоторые браузеры позволят вам установить свойства ширины/высоты для всего, что вы хотите, используя CSS.

Some = Firefox, Chrome, Safari, Opera.

В IE не так много работает (не удивительно)

Вы могли бы, если хотите, использовать выражения CSS в IE, чтобы проверить, установлен ли атрибут размера, и если да, запустите JS (re), чтобы установить его в желаемый размер... например

size = options.length;

Ответ 2

Я не думаю, что это возможно.

Свойства CSS очень общие (применимы к любому элементу) и не могут каким-либо образом изменять функциональность элемента (только внешний вид).

Атрибут size изменяет функциональность элемента, по крайней мере, в случае size = 1/size!= 1.

Ответ 3

Я не согласен, я смог установить ширину и высоту выбора с помощью CSS с чем-то вроде этого:

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

Работает в IE (7), а также я просто тестировал его.

Ответ 4

Попробуйте следующее:

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

Ответ 5

В общем, вы не можете добавлять атрибуты, установленные в html через CSS. Вы можете добавить html с помощью псевдоселекторов: до и: после, но об этом, плюс они все еще не совместимы во всех браузерах. Если вам действительно нужно это сделать, я думаю, вам придется прибегнуть к Javascript.

Ответ 6

Вы можете использовать следующий CSS-селектор для выбора элементов стиля с атрибутом размера:

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

Ответ 7

Я не считаю, что это возможно.