Skip to content

[css-position-3] Circular definition of fixed positioning containing block #5332

@vwkd

Description

@vwkd

(For simplicity, I'll assume continuous media below.)

The definition of the fixed positioning containing block in css-position-3 reads

If no ancestor establishes [a fixed positioning containing block], the fixed positioning containing block is [...] the viewport.

This definition is circular. You can't define "fixed positioning containing block" assuming its very existence in the preceeding condition "If no ancestor establishes [an fixed positioning containing block]".

Also this contradicts the comment only a few lines above, which defined it directly as the viewport.

[...] a fixed positioning containing block (the viewport [...]).

Furthermore, ignoring the contradicting comment above, the term "fixed positioning containing block" is left completely undefined.

Currently, it seems a unnecessary complication for the definition of the term "containing block of fixed positioned elements". Instead of defining A as C ("containing block of fixed positioned elements" as "viewport"), the spec defines A as (B or C) ("containing block of fixed positioned elements" as "fixed positioning containing block" or "viewport") and leave B entirely undefined. Furthermore, the choice of the term B - "fixed positioning containing block" - contains the very words for whose definition it's used - "containing block" -, which is to say the least bad naming. It's as if you define the word "car" as "an object with a car door" and then need to define "car door" without using the word "car".

It should be noted, that an identical argument can be made for the term "absolute positioning containing block".

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