Вопрос по html, html-select, css – Установить атрибут размера тега через css?

15

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

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

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

Ваш Ответ

7   ответов
6

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

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

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

0

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

Согласен. Это поразило меня как работу для jQuery.
-2

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

2

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие вопросы