Skip to content

[css-variables][css-conditional] allowing a white space only variable value #3169

@svgeesus

Description

@svgeesus

from https://lists.w3.org/Archives/Public/www-style/2013Aug/0520.html by @heycam

I assume we want:

@supports (var-a: ) { }

to succeed, since "var-a: " is a valid declaration. However,
css-conditional-3 has:

  supports_declaration_condition
    : '(' S* declaration ')'
    ;

with "declaration" linking to CSS 2.1, where it is defined as:

  declaration : property S* ':' S* value;
  value       : [ any | block | ATKEYWORD S* ]+;
  any         : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING
                | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES
                | DASHMATCH | ':' | FUNCTION S* [any|unused]* ')'
                | '(' S* [any|unused]* ')' | '[' S* [any|unused]* ']'
                ] S*;

This doesn't allow for a property value that consists only of white space.

On the other hand,
http://dev.w3.org/csswg/css-syntax/#consume-a-declaration seems to allow
a declaration to be parsed that has no tokens at all after the ':'. I
guess that's OK as css-variables then defines that no tokens after the
':' is invalid?

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