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

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

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

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

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

Но Webstorm не нравится, и он не активируется.

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

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

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

Ответ 1

Ваш снимок в темноте на самом деле очень близок к тому, что предлагается для селекторов 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;
}

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