Re: [csswg-drafts] [css-cascade][css-pseudo] How does 'inherit' keyword behave in a child of ::first-line?

@dbaron Thanks, this matches observations and I think makes more sense than what the spec says. You are right this thread has become so long, so I will try to summarize it.

# TL;DR

Inheritance from `::first-line` is not interoperable. Points that should be taken into account:

 - Reasonable behavior: If an author doesn't use `::first-line`, inheritance should be as if that pseudo-element had never existed.
 - The problem is basically with non-inherited properties set to the `inherit` keyword, which would inherit the initial value from `::first-line` instead of from the parent element.
   Possible solutions: (1) non-inherited properties don't inherit from `::first-line`; or (2) `inherit` retrieves the value from parent element even if inheritance is from pseudo-element; or (3) `::first-line` only changes inheritance when used in the stylesheet. Details in https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-289235855
 - Inherited properties can inherit from `::first-line` without that problem. But CSS variables should be somehow restricted, otherwise `::first-line` could alter the value of a variable that is used in a property which affects the box tree, which can affect `::first-line`.
   Possible solution: don't allow CSS variables to be inherited from `::first-line`. Details in https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-293730832, https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-294372288, https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-294630127
 - Currently the spec says that inheritance from `::first-line` is determined by whether the property applies to `::first-line`. Probably non-inherited properties should be excluded. Maybe non-applying inherited properties could be included.
 - `color` is inherited from `::first-line`, this affects the `currentColor`. Should other properties (which possibly don't apply to and/or don't inherit from `::first-line`) reflect that change? Unlike CSS Variables, this seems harmless.
 - [Important testcase](https://jsfiddle.net/pjep4c65/). Details in https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-293727678, https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-293730832, https://github.com/w3c/csswg-drafts/issues/1097#issuecomment-293782911

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

Received on Tuesday, 2 May 2017 12:13:11 UTC