What are the different types of directives available in AngularJS?

AngularJS provides support for creating custom directives for the following type of elements:

Element Directive
Element directives are activated when a matching element is encountered.
Attribute
Attribute directives are activated when a matching attribute is encountered.
CSS
CSS directives are activated when a matching CSS style is encountered.
Comment
Comment directives are activated when a matching comment is encountered.