Skip to content

[css-display][css-pseudo] Interaction of run-in and ::first-line #1441

Description

@Loirooriol

In Run-In Layout, CSS Display says

If a run-in sequence is immediately followed by a block box that does not establish a new block formatting context, it is inserted as direct children of the block box after its ::marker pseudo-element’s boxes (if any), but preceding any other boxes generated by the contents of the block (including the box generated by the ::before pseudo-element, if any).

The reparented content is then formatted as if originally parented there. Note that only layout is affected, not inheritance, because property inheritance for non-anonymous boxes is based only on the element tree.

First, does "boxes generated by the contents of the block" include block's ::first-line? If yes, what about ::first-lines generated by ancestor blocks?

Second, the premise in the last sentence is false. A non-anonymous box fragment can inherit some properties from a ::first-line pseudo-element, which is based on the box tree. So it's not clear whether a run-in inserted into the next block is supposed to ignore that block's ::first-line styles or not.

Example:

<section>
  <span>Foo</span>
  <div>Bar</div>
</section>
section { color: red }
div::first-line { color: green; background: blue }
span { display: run-in }

What color does Foo have? Does it have a blue background behind?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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