D'après cette définition, il est nécessaire pour un langage informatique d'être Turing complète, c'est-à-dire être capable de représenter toutes les fonctions calculables, qu'il a au moins la puissance d'une machine de Turing, et qu'il hérite des problématiques des machines de Turing, en particulier le fait que le problème de l'arrêt est indécidable (c'est-à-dire que la machine de Turing ne peut pas détecter qu'elle a planté, vu qu'elle est plantée).
Pour ce qui est du CSS, il est possible de programmer un Automate cellulaire rule 110 en CSS et HTML, comme le montre cet exemple (qui n'est pas tout à fait autonome, il demande l'aide de l'utilisateur pour passer d'une state à une autre). Il a ete demontre que Rule 110 est Turing complete, nous pourrions donc considérer que CSS + HTML est Turing complète, mais ça serait ignorer la dernière portion de la définition avec la regle d'arrêt, qui fait clairement débat. Si le sujet vous intéresse, je vous propose la lecture de cette page Stack-overflow, argumentée et avec quelques exemples : http://stackoverflow.com/questions/2497146/is-css-turing-complete.
Dans tous les cas, que le CSS soit ou ne soit pas un langage de programmation ne l'empêche pas d'être clairement impressionnant ! Pour appuyer mes dires, je vous propose de découvrir les exemples suivants, utilisant du CSS à la place du Javascript utilisé habituellement, ainsi que la liste suivante : You Dont Need Javascript
Évidemment, ces exemples restent des amusements et pour la plupart ne doivent pas entrer dans vos projets en production ! Le CSS à un moins bon support que le Javascript et est plus complexe a debugger et à tester.