mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
layout: Translate floats flowing out of blocks to compensate for inline
direction margins. Improves Reddit /r/rust.
This commit is contained in:
parent
97de2c2afa
commit
6b6587a73b
4 changed files with 80 additions and 1 deletions
|
@ -1020,8 +1020,12 @@ impl BlockFlow {
|
||||||
self.base.position.size.block = cur_b;
|
self.base.position.size.block = cur_b;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store the current set of floats in the flow so that flows that come later in the
|
// Translate the current set of floats back into the parent coordinate system in the
|
||||||
|
// inline direction, and store them in the flow so that flows that come later in the
|
||||||
// document can access them.
|
// document can access them.
|
||||||
|
floats.translate(LogicalSize::new(writing_mode,
|
||||||
|
self.fragment.inline_start_offset(),
|
||||||
|
Au(0)));
|
||||||
self.base.floats = floats.clone();
|
self.base.floats = floats.clone();
|
||||||
self.adjust_fragments_for_collapsed_margins_if_root(layout_context);
|
self.adjust_fragments_for_collapsed_margins_if_root(layout_context);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1608,6 +1608,18 @@
|
||||||
"url": "/_mozilla/css/floated_table_with_margin_a.html"
|
"url": "/_mozilla/css/floated_table_with_margin_a.html"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"css/floats_inline_margins_a.html": [
|
||||||
|
{
|
||||||
|
"path": "css/floats_inline_margins_a.html",
|
||||||
|
"references": [
|
||||||
|
[
|
||||||
|
"/_mozilla/css/floats_inline_margins_ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"url": "/_mozilla/css/floats_inline_margins_a.html"
|
||||||
|
}
|
||||||
|
],
|
||||||
"css/floats_margin_collapse_a.html": [
|
"css/floats_margin_collapse_a.html": [
|
||||||
{
|
{
|
||||||
"path": "css/floats_margin_collapse_a.html",
|
"path": "css/floats_margin_collapse_a.html",
|
||||||
|
@ -8336,6 +8348,18 @@
|
||||||
"url": "/_mozilla/css/floated_table_with_margin_a.html"
|
"url": "/_mozilla/css/floated_table_with_margin_a.html"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
"css/floats_inline_margins_a.html": [
|
||||||
|
{
|
||||||
|
"path": "css/floats_inline_margins_a.html",
|
||||||
|
"references": [
|
||||||
|
[
|
||||||
|
"/_mozilla/css/floats_inline_margins_ref.html",
|
||||||
|
"=="
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"url": "/_mozilla/css/floats_inline_margins_a.html"
|
||||||
|
}
|
||||||
|
],
|
||||||
"css/floats_margin_collapse_a.html": [
|
"css/floats_margin_collapse_a.html": [
|
||||||
{
|
{
|
||||||
"path": "css/floats_margin_collapse_a.html",
|
"path": "css/floats_margin_collapse_a.html",
|
||||||
|
|
27
tests/wpt/mozilla/tests/css/floats_inline_margins_a.html
Normal file
27
tests/wpt/mozilla/tests/css/floats_inline_margins_a.html
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title></title>
|
||||||
|
<link rel="match" href="floats_inline_margins_ref.html">
|
||||||
|
<style>
|
||||||
|
html, body, p {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
div {
|
||||||
|
background-color: gold;
|
||||||
|
float: left;
|
||||||
|
height: 27px;
|
||||||
|
width: 27px;
|
||||||
|
}
|
||||||
|
#first {
|
||||||
|
margin-left: 27px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div></div>
|
||||||
|
<p id=first>submitted</p>
|
||||||
|
<p>x</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
24
tests/wpt/mozilla/tests/css/floats_inline_margins_ref.html
Normal file
24
tests/wpt/mozilla/tests/css/floats_inline_margins_ref.html
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<title></title>
|
||||||
|
<style>
|
||||||
|
html, body, p {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
div {
|
||||||
|
background-color: gold;
|
||||||
|
float: left;
|
||||||
|
height: 27px;
|
||||||
|
width: 27px;
|
||||||
|
border-bottom: solid white 27px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div></div>
|
||||||
|
<p id=first>submitted</p>
|
||||||
|
<p>x</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue