Skip to content

[css-values-4][css-conditional] Define <atomic-condition> that other specs reference #10790

Open
@cdoublev

Description

@cdoublev

CSS Conditional 5 defines <size-feature> as the same as <media-feature>, and Conditional Values defines <atomic-condition> as its own version of <media-feature>.

Similarly as <boolean> (or possibly <condition>) unifies the syntaxes of a "complex" condition, would it be possible to unify <size-feature> and <media-feature> into <atomic-condition>?

Or maybe <boolean> should be <complex-condition> and <atomic-condition> should be <condition>, similar to the selector terminology.

<condition> = <condition-boolean> | <condition-plain> | <condition-range>
<condition-boolean> = <condition-name> | <condition-constant-keyword>
<condition-name> = <ident>
<condition-plain> = <condition-name> : <condition-value>
<condition-range> = <condition-name> <comparison-operator> <numeric-value>
                  | <numeric-value> <comparison-operator> <condition-name>
                  | <numeric-value> <comparison-lt> <condition-name> <comparison-lt> <numeric-value>
                  | <numeric-value> <comparison-gt> <condition-name> <comparison-gt> <numeric-value>
<condition-value> = <ident> | <numeric-value>
<numeric-value> = <number> | <dimension> | <percentage> | <ratio>
<comparison-lt> = '<' '='?
<comparison-gt> = '>' '='?
<comparison-eq> = '='
<comparison-operator> = <comparison-lt> | <comparison-gt> | <comparison-eq>

With the following requirements:

  • each specification must define the set of valid <condition-name> when using this production
  • <condition-value> must be a valid value according to <condition-name>
  • whitespaces are invalid between any component value of <comparison-operator>

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions