https://drafts.csswg.org/css-display-3/#valdef-display-contents
This value computes to display: none on replaced elements
First, at computed value time it's not known whether an element will be replaced or not, so it seems this should be "behaves as" instead.
But then, browsers aren't doing that either:
<!DOCTYPE html>
<style>
div {
display: block;
width: 100px;
height: 100px;
content: linear-gradient(cyan);
border: solid;
}
</style>
<div>text</div>
<div style="display: contents">text</div>
| Gecko, Blink, WebKit |
Servo |
 |
 |
https://drafts.csswg.org/css-display-3/#valdef-display-contents
First, at computed value time it's not known whether an element will be replaced or not, so it seems this should be "behaves as" instead.
But then, browsers aren't doing that either: