- From: David Baron via GitHub <sysbot+gh@w3.org>
- Date: Fri, 12 Aug 2016 20:49:47 +0000
- To: public-css-archive@w3.org
dbaron has just created a new issue for
https://github.com/w3c/csswg-drafts:
== [css-contain-1] layout containment should make an element
containing block for absolute/fixed positioned elements ==
[Layout
containment](https://drafts.csswg.org/css-containment/#containment-layout)
does not currently specify that an element must be a containing block
for absolute and fixed positioned descendants. ([Paint
containment](https://drafts.csswg.org/css-containment/#containment-paint)
does specify this.)
I believe failing to specify this makes some of the optimizations
intended to be possible with layout containment not be possible. In
particular, if you have:
```
<div id="A" style="position:relative"> <!-- containing block for abs
pos elements -->
<div id="B" style="contain: layout">
<div id="C" style="position: absolute; top: auto; left: auto">
</div>
</div>
</div>
```
then changes inside of B require relayout of A, since they can move
the position of C, which is (box-wise) a child of A. Note that C
could also be positioned partly relative to the contents of B, and
partly relative to the size of A (e.g., bottom: 20px; left: auto).
I think layout containment should also specify the line that paint
containment currently does:
> The element must act as a containing block for absolutely
positioned and fixed positioned descendants.
Please view or discuss this issue at
https://github.com/w3c/csswg-drafts/issues/404 using your GitHub
account
Received on Friday, 12 August 2016 20:49:55 UTC