2016-01-13 2 views
4

Есть ли способ иметь несколько селекторов, связанных с псевдоклассом?Связать множественные селекторы с псевдоклассом

Другими словами, я хочу сделать так, чтобы привязка, изображение или кнопка зависали или фокусировались, у них будет специальная граница вокруг них.

Я попробовал это (выстрел в темноте):

(a,button,img):hover, (a,button,img):focus { 
    border: 2px dashed black; 
} 

Но WebStorm не нравится, и он не включается.

Я знаю, что это работает:

a:hover, a:focus { 
    border: 2px dashed black; 
} 

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

+1

Возможно, если вы присвоите им общий класс (или), если вы можете использовать '*' (что, я думаю, не совсем то, что вы хотите). В противном случае предпочтительными будут препроцессоры. – Harry

+3

Ух, вот поиск сосет. Google тоже не помогает. Я ответил на этот же вопрос (содержащий очень похожий снимок в темноте). – BoltClock

+1

Несомненно, именно здесь препроцессоры приходят в свои руки. Вы можете создать класс модификатора, который имеет прикрепленные стили hover, или вам нужно будет запятую разделить каждый элемент, к которому вы хотите присоединить псевдокласс. – Doidgey

ответ

5

Ваш выстрел в темноте на самом деле очень близко к тому, что предлагается для селекторов 4, за исключением того, что принимает форму своего собственного псевдо-класса, :matches() (с круглыми скобками и тем же разделителями запятыми синтаксиса):

:matches(a, button, img):hover, :matches(a, button, img):focus { 
    border: 2px dashed black; 
} 

, который может быть дополнительно упрощено до:

:matches(a, button, img):matches(:hover, :focus) { 
    border: 2px dashed black; 
} 

Как это еще не реализовано за пределами внутренних префиксов, вы должны будете делать с письменной форме все это вручную в то же время:

a:hover, button:hover, img:hover, 
a:focus, button:focus, img:focus { 
    border: 2px dashed black; 
} 

Или используйте препроцессор, чтобы выполнить весь тяжелый подъем.

+0

Черт, спасибо. Я старался избегать использования препроцессоров, так как это просто игрушечный сайт, и я действительно им не нужен. О, хорошо, спасибо. – Carcigenicate

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