Re: [csswg-drafts] [css-syntax-3] Allow a descriptor matching a property to cascade and get a priority (#7838)

Changing the title to broaden the topic because it is also unclear if descriptor declarations accept custom variables and CSS-wide keywords. At least, Chrome/FF accept them in some cases.

Below, in Chrome/FF: 

  - declarations for `font-display` are all parsed as invalid
  - declarations for `size` are all parsed as valid
  - declarations for `color` are all parsed as valid in Chrome / invalid in FF (bug imo, even with `inherit`)

```css
@font-face { 
  font-display: block !important; 
}
@font-face { 
  font-display: initial; 
}
@font-face { 
  font-display: var(--custom); 
}
@page { 
  color: green !important; 
  size: 1px !important; 
}
@page { 
  color: initial; 
  size: initial; 
}
@page { 
  color: var(--custom); 
  size: var(--custom); 
}
```

  > The value of a custom property can be substituted into the value of another property with the var() function.

https://drafts.csswg.org/css-variables-1/#using-variables

  > Several CSS-wide property values are defined below; declaring a property to have these values explicitly specifies a particular defaulting behavior. As specified in CSS Values and Units [css-values-3], all CSS properties can accept these values.

https://drafts.csswg.org/css-cascade-5/#defaulting-keywords

In my opinion:

  - custom variables should always be valid, for all type of descriptors
  - all CSS-wide keywords should be valid if declarations cascade, for all type of descriptors
  - `initial` should always be valid, even for "pure" descriptors

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7838#issuecomment-1320887132 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Saturday, 19 November 2022 13:34:33 UTC