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

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

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

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

Ответы на вопрос(7)

Решение Вопроса

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

Некоторые = Firefox, Chrome, Safari, Opera.

Не так много работает в IE, хотя (не удивительно)

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

size = options.length;
 26 июн. 2012 г., 03:25
проверенныйsize=2 в HTML & amp;height:20em в CSS и работает в IE8, FF13, Chrome19, Opera12.

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

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

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

 02 мая 2013 г., 02:41
Этот ответ неприменим к вопросу - OP говорил об атрибуте размера, а не о физическом размере. Атрибут размера превращает раскрывающийся список в прокручиваемый списокn элементы, гдеn это размер.
 01 дек. 2011 г., 01:59
Это старый вопрос, но я столкнулся с проблемой Safari, игнорируяsize= атрибут при использовании размера & lt; 4. Я смог использовать вышеупомянутое предложение в CSSheight: 3em; последовательно установить множественный выбор примерно на 2 строки (FF8, IE9, Safari4, Chrome15). Кажется разумной заменойsize=2 атрибут

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

select[size]{
/*your style here */
}
 Boris Callens07 июл. 2015 г., 16:18
Это действительно может быть ответом на заголовок вопроса. Тело фактически попросило немного другую проблему. Я отредактировал заголовок, чтобы сделать это более понятным.

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

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

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

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

 28 июл. 2012 г., 07:48
Согласен. Это поразило меня как работу для jQuery.

Я не верю, что это возможно, нет

Попробуй это:

select[attr=size] {
    width:auto;
    height:auto;
}
 Boris Callens07 июл. 2015 г., 16:18
Это действительно может быть ответом на заголовок вопроса. Тело фактически попросило немного другую проблему. Я отредактировал заголовок, чтобы сделать это более понятным.
 12 мар. 2014 г., 03:56
Привет, Марко, добро пожаловать в StackOverflow! Пожалуйста, постарайтесь объяснить немного больше о вашем ответе, чем просто публиковать код. Это поможет людям найти и понять ваш ответ.

Ваш ответ на вопрос