Is there a CSS selector for elements lacking an attribute?

The only solution that worked for me was to place a:link { } within my code.

I also tried

a:not([href]) input:not([href=""]) input:not([href~=""])

But for a .scss file with multiple a tags used as standard code blocks (not my idea), this was the only solution.


For links you can simply use:

a { color: red; }
a:link { color: green; }

fiddle: http://jsfiddle.net/ZHTXS/ no need for javascript.

For form attributes, use the not attribute pattern noted above input:not([type]) and if you need to support older versions of IE, I'd probably add a class and use an IE specific style sheet linked with conditional comments.


You can follow this pattern:

a:not([href])
input:not([type])

The attribute selector is used to select elements with the specified attribute.

:not is supported in all modern browsers and IE9+, if you need IE8 or lower support you're out of luck.


You can always set different style to a and a href

Check this: http://jsfiddle.net/uy2sj/