Skip to content

Standardize marquee UA styles. #10249

@emilio

Description

@emilio

What is the issue with the HTML Standard?

Other than the spec's https://html.spec.whatwg.org/#the-marquee-element-2, engines have some extra marquee styles:

Gecko has:

marquee {
  inline-size: -moz-available;
  vertical-align: text-bottom;
  white-space: nowrap;
}

Plus:

marquee:is([direction="up"], [direction="down"]) {
  block-size: 200px;
  white-space: unset;
}

Blink has here and here something like:

marquee {
  width: -webkit-fill-available;
  white-space: nowrap;
}

And:

marquee:is([direction="up"], [direction="down"]) {
  white-space: initial;
}

(Note that the overflow rules in there are redundant because they get overridden in here, so they match the spec).

WebKit has this which IIUC is something like:

marquee:not([direction="up"], [direction="down"]) {
  white-space: nowrap !important;
}

Plus a special "if height is auto, set height to 200px for vertical marquee".


I think something like this might be a good common denominator to be added to the current spec:

marquee {
  inline-size: stretch; /* -moz-available / -webkit-fill-available */
  white-space: nowrap;
}

marquee:is([direction="up"], [direction="down"]) {
  block-size: 200px;
  white-space: unset;
}

So:

  • Gecko would remove vertical-align.
  • Blink will use logical properties for stretch sizing and add the default vertical marquee size, plus use unset (inherit) rather than initial for white-space, which I think it's more in line with the expectation of authors.
  • WebKit won't use magic adjustments (except for overflow if they want I guess where it's not observable).

Does that seem reasonable?

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