Class CssMediaQuery

java.lang.Object
com.oorian.css.CssElement
com.oorian.css.CssMediaQuery

public class CssMediaQuery extends CssElement
Represents a CSS @media query for applying conditional styles based on device characteristics.

CssMediaQuery allows you to define responsive CSS rules that apply only when certain conditions are met, such as screen width, device orientation, or color capability.

Example usage:

 CssMediaQuery mobile = new CssMediaQuery("@media (max-width: 768px)");
 mobile.addRule(new CssRule(".sidebar", "display: none"));
 mobile.addRule(new CssRule(".content", "width: 100%"));
 

This generates:

 @media (max-width: 768px) { .sidebar { display: none; } .content { width: 100%; } }
 

Media queries can be nested by using addMediaQuery(CssMediaQuery).

Author:
Marvin P. Warble Jr.
See Also:
  • Constructor Details

    • CssMediaQuery

      public CssMediaQuery(String def)
      Constructs a new media query with the specified definition.
      Parameters:
      def - The complete media query definition (e.g., "@media (max-width: 768px)", "@media screen and (orientation: portrait)").
  • Method Details

    • addRule

      public final CssMediaQuery addRule(CssRule rule)
      Adds a CSS rule to this media query.
      Parameters:
      rule - The CssRule to add, which will only apply when the media query conditions are met.
      Returns:
      This CssMediaQuery for method chaining.
    • addMediaQuery

      public final CssMediaQuery addMediaQuery(CssMediaQuery query)
      Adds a nested media query inside this media query.

      This allows for complex conditional styling with multiple levels of media query conditions.

      Parameters:
      query - The nested CssMediaQuery to add.
      Returns:
      This CssMediaQuery for method chaining.
    • toString

      public final String toString()
      Converts this media query and its contents to a CSS string.
      Overrides:
      toString in class Object
      Returns:
      The CSS @media rule as a lowercase string including all contained rules.
    • initializeChildren

      protected void initializeChildren()
      Initializes all child CSS elements contained in this media query.

      Called during stylesheet initialization to ensure all nested rules and queries are properly initialized.

      Overrides:
      initializeChildren in class CssElement