2015-05-11 5 views
2

Есть ли способ использовать CSS для выпадающего списка (size = '1') и списка (size = '[2+]') отдельно, кроме как используя классов или идентификаторов? .CSS - Разница между выпадающим списком выбора и списком выбора

Cross-браузер и IE6 :(совместимость была бы идеальным

Благодаря

EDIT - Решение (! IE 7 + с DOCTYPE) Благодаря SW4

select{ 
    /*All select elements (Drop downs and Lists)*/ 
} 

select[size]{ 
    /*All select elements with size specified (Typically just lists unless you specify a select with size='1')*/ 
} 

select[size='1']{ 
    /*All select elements with size='1', does not include elements where size is not specified*/ 
} 

ответ

2

Что вы после этого есть CSS attribute selector, поэтому ваше правило может быть:

select{ 
    /* everything with a size > 1 */ 
} 
select[size=1]{ 
    /* everything with a size attribute === 1 */ 
} 

С учетом сказанного, селектора атрибутов являются частью модуля CSS3, поэтому not supported natively by IE6, вам понадобится сторонняя библиотека совместимости, такая как selectivizr, если вы хотите их использовать.

С учетом этого, если вы в состоянии - почему бы не пойти по маршруту класса и добавить класс к каждому элементу с помощью size=1, чтобы стилизовать их как исключение?

С другой стороны, и это не CSS конкретно, но JQuery 1.x (который поддерживает IE6) имеет attribute selectors, вы могли бы использовать это, чтобы определить квалификационные элементы затем применить класс CSS к ним непосредственно, например:

$('select[size=1]').addClass('css-class'); 
+0

Спасибо, что это лучший вариант, совместимость с IE6 желательна, но если он выглядит немного странным в IE6, это не имеет значения, пока он все еще функционирует. – apc

+0

@apc вы хотите поддержку IE6? Шутки в сторону? –

+0

Я думаю, вы ошибочно указали селектор в примере для jQuery ... не должно быть '$ ('select [size = 1]')'? вы пропустили эту закрывающую квадратную скобку ... – SimonSimCity

Смежные вопросы