mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Auto merge of #29859 - mrobinson:float-negative-block-margin, r=Loirooriol
Layout 2020: Properly handle negative margins in floats If a float has negative block margins, it should be pushed upward, but shouldn't affect the positioning of any floats that came before it. It should lower the ceiling though when it still has some non-negative block contribution. In order to implement this behavior, we should only place the float considering its non-negative block length contribution. If the float is pushed up completely past it's "natural" position, it should be placed like a float with zero block size. <!-- 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] There are tests for these changes <!-- 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. -->
This commit is contained in:
commit
1d69e7b234
4 changed files with 49 additions and 4 deletions
|
@ -60677,6 +60677,19 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"negative-block-margin-pushing-float-out-of-block-formatting-context.html": [
|
||||
"0ebe54c1904e0c2487ebe15c4d60e9e93672d859",
|
||||
[
|
||||
null,
|
||||
[
|
||||
[
|
||||
"/css/CSS2/floats/negative-block-margin-pushing-float-out-of-block-formatting-context-ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"negative-margin-float-positioning.html": [
|
||||
"8b4aef22f71f8695ebbc5b6dc83ad5639945618d",
|
||||
[
|
||||
|
@ -359622,6 +359635,10 @@
|
|||
"68139cdbe2d7c998b6d948f5ecca0ed7ce367694",
|
||||
[]
|
||||
],
|
||||
"negative-block-margin-pushing-float-out-of-block-formatting-context-ref.html": [
|
||||
"09a0ed094f8eb82f9fa25c4f09bb3f8a1f79c4c9",
|
||||
[]
|
||||
],
|
||||
"overflow-scroll-float-paint-order-ref.html": [
|
||||
"0fb53d4ecd3cd77e6588be0b271a2ee47950bd29",
|
||||
[]
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com" />
|
||||
<meta name="assert" content="When a floating box has a negative margin negative enough that it pushes the float past the top of the block formatting context, it should render properly."/>
|
||||
|
||||
<body>
|
||||
<div style="width: 50px; height: 50px; background: green;"></div>
|
||||
</body>
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<link rel="author" title="Martin Robinson" href="mailto:mrobinson@igalia.com" />
|
||||
<link rel="help" href="https://drafts.csswg.org/css2/#float-position"/>
|
||||
<meta name="assert" content="When a floating box has a negative margin negative enough that it pushes the float past the top of the block formatting context, it should render properly."/>
|
||||
<link rel="match" href="negative-block-margin-pushing-float-out-of-block-formatting-context-ref.html"/>
|
||||
|
||||
<body>
|
||||
<div style="height: 100px;"></div>
|
||||
<div style="position: absolute;">
|
||||
<div style="float: left; width: 50px; height: 50px; margin-top: -100px; background: green;"></div>
|
||||
</div>
|
||||
</body>
|
Loading…
Add table
Add a link
Reference in a new issue