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;
|
||||
}
|
||||
|
||||
// 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.
|
||||
floats.translate(LogicalSize::new(writing_mode,
|
||||
self.fragment.inline_start_offset(),
|
||||
Au(0)));
|
||||
self.base.floats = floats.clone();
|
||||
self.adjust_fragments_for_collapsed_margins_if_root(layout_context);
|
||||
} else {
|
||||
|
|
|
@ -1608,6 +1608,18 @@
|
|||
"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": [
|
||||
{
|
||||
"path": "css/floats_margin_collapse_a.html",
|
||||
|
@ -8336,6 +8348,18 @@
|
|||
"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": [
|
||||
{
|
||||
"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