Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upElements with transformations are not considered containing blocks for absolute position elements #18091
Comments
|
I split out the issue with fixed position elements to #18122, because it will require a more extensive and completely different fix than for absolute blocks. |
mrobinson
added a commit
to mrobinson/servo
that referenced
this issue
Aug 17, 2017
Instead of only promoting flows with positioned fragments to containing blocks, also do this for flows which have the transform, perspective or filter properties set. This is what the spec requires and also fixes some failing tests. It will allow us to stop creating stacking contexts for overflow:hidden and overflow:scroll flows. Fixes servo#18091.
mrobinson
added a commit
to mrobinson/servo
that referenced
this issue
Aug 17, 2017
Instead of only promoting flows with positioned fragments to containing blocks, also do this for flows which have the transform, perspective or filter properties set. This is what the spec requires and also fixes some failing tests. It will allow us to stop creating stacking contexts for overflow:hidden and overflow:scroll flows. Fixes servo#18091.
mrobinson
added a commit
to mrobinson/servo
that referenced
this issue
Aug 17, 2017
Instead of only promoting flows with positioned fragments to containing blocks, also do this for flows which have the transform, perspective or filter properties set. This is what the spec requires and also fixes some failing tests. It will allow us to stop creating stacking contexts for overflow:hidden and overflow:scroll flows. Fixes servo#18091.
bors-servo
added a commit
that referenced
this issue
Aug 18, 2017
Improve containing block creation for position:absolute flows Instead of only promoting flows with positioned fragments to containing blocks, also do this for flows which have the transform, perspective or filter properties set. This is what the spec requires and also fixes some failing tests. It will allow us to stop creating stacking contexts for overflow:hidden and overflow:scroll flows. Fixes #18091. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #18091 (github issue number if applicable). <!-- Either: --> - [x] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18123) <!-- Reviewable:end -->
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Consider the following test case:
The transformed div should be the containing block for the innermost absolutely positioned element, but it isn't. This leads to a mispositioning of the green div -8 pixels on the x axis. The -8 pixels is the amount that would normally move the div relative to the viewport, but instead it should be relative to the transformed div and have no offset at all on the x axis.