Provides API for making properties styleable via CSS and for supporting pseudo-class state.

The JavaFX Scene Graph provides the facility to style nodes using CSS (Cascading Style Sheets). The {@link javafx.scene.Node Node} class contains {@code id}, {@code styleClass}, and {@code style} variables which are used by CSS selectors to find nodes to which styles should be applied. The {@link javafx.scene.Scene Scene} class and {@link javafx.scene.Parent Parent} class contain a the {@code stylesheets} variable which is a list of URLs that reference CSS style sheets that are to be applied to the nodes within that scene or parent.

The primary classes in this package are:

{@link javafx.css.CssMetaData CssMetaData}
  Defines the CSS property and provides a link back to the {@link javafx.css.StyleableProperty StyleableProperty}. By convention, classes that have CssMetaData implement a {@code public static List> getClassCssMetaData()} method that allows other classes to include CssMetaData from an inherited class. The method {@link javafx.scene.Node#getCssMetaData() getCssMetaData()} should be overridden to return {@code getClassCssMetaData()}. The CSS implementation frequently calls {@code getCssMetaData()}. It is strongly recommended that the returned list be a {@code final static}.
{@link javafx.css.StyleableProperty StyleableProperty}
  Defines the interface that the CSS implementation uses to set values on a property and provides a link back to the {@code CssMetaData} that corresponds to the property.
{@link javafx.css.PseudoClass PseudoClass}
  Defines a pseudo-class which can be set or cleared via the method {@link javafx.scene.Node#pseudoClassStateChanged(javafx.css.PseudoClass, boolean) pseudoClassStateChanged}.

For further information about CSS, how to apply CSS styles to nodes, and what properties are available for styling, see the CSS Reference Guide.