CSS на такие вещи влиять не может, он применяется к уже построенной DOM. Браузер «генерит» элементы на этапе разбора разметки, и сюрпризы в DOM — результат «сюрпризов» в ней. В данном случае это простая механическая опечатка, такие вещи как раз хорошо ловятся валидатором. Но иногда браузер «генерит» элементы абсолютно штатно и предсказуемо (напр. тегов <html>, <head>, <body> может не быть на странице и это валидно, а в итоговой DOM соотв. элементы будут). Ну а на jsFiddle роль неплохой подсказки может играть подсветка самого редактора (здесь она как раз подсветила текст, идущий после той пропущенной скобки, как атрибуты тега <a>). Единственное что эта подсветка тупая, пользуется, видимо, XML-разбором, поэтому ее правильной работы приходится «слешить» одиночные теги на XML-манер — один из крайне редких случаев, когда это дает какую-либо видимую разницу.