mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Use the margin box of an inline block when computing the inline size
When computing the inline size of an inline block in inline formating context, use the margin box of the underling block.
This commit is contained in:
parent
3272861fca
commit
dd26148d43
4 changed files with 57 additions and 4 deletions
|
@ -2380,10 +2380,7 @@ impl Fragment {
|
|||
pub fn update_late_computed_replaced_inline_size_if_necessary(&mut self) {
|
||||
if let SpecificFragmentInfo::InlineBlock(ref mut inline_block_info) = self.specific {
|
||||
let block_flow = FlowRef::deref_mut(&mut inline_block_info.flow_ref).as_block();
|
||||
let margin = block_flow.fragment.style.logical_margin();
|
||||
self.border_box.size.inline = block_flow.fragment.border_box.size.inline +
|
||||
MaybeAuto::from_style(margin.inline_start, Au(0)).specified_or_zero() +
|
||||
MaybeAuto::from_style(margin.inline_end, Au(0)).specified_or_zero()
|
||||
self.border_box.size.inline = block_flow.fragment.margin_box_inline_size();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2759,6 +2759,18 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/inline_block_percentage_margin.html": [
|
||||
[
|
||||
"/_mozilla/css/inline_block_percentage_margin.html",
|
||||
[
|
||||
[
|
||||
"/_mozilla/css/inline_block_percentage_margin_ref.html",
|
||||
"=="
|
||||
]
|
||||
],
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/inline_block_stacking_context_a.html": [
|
||||
[
|
||||
"/_mozilla/css/inline_block_stacking_context_a.html",
|
||||
|
@ -7875,6 +7887,11 @@
|
|||
{}
|
||||
]
|
||||
],
|
||||
"css/inline_block_percentage_margin_ref.html": [
|
||||
[
|
||||
{}
|
||||
]
|
||||
],
|
||||
"css/inline_block_stacking_context_ref.html": [
|
||||
[
|
||||
{}
|
||||
|
@ -21797,6 +21814,14 @@
|
|||
"bad4704435c74a3204925206802eb004f380500e",
|
||||
"support"
|
||||
],
|
||||
"css/inline_block_percentage_margin.html": [
|
||||
"0b750acad3bcc6b5fabf9e625b6adf22e1e97640",
|
||||
"reftest"
|
||||
],
|
||||
"css/inline_block_percentage_margin_ref.html": [
|
||||
"3726b3b2149b9e6584277fd33b77940d5f9d6800",
|
||||
"support"
|
||||
],
|
||||
"css/inline_block_stacking_context_a.html": [
|
||||
"6c872ab3c551e4fe6c293468aa310ae61487b583",
|
||||
"reftest"
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<link rel="match" href="inline_block_percentage_margin_ref.html">
|
||||
<style>
|
||||
body {
|
||||
width: 500px;
|
||||
}
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
background: orange;
|
||||
margin: 0 10%;
|
||||
}
|
||||
</style>
|
||||
<span></span>
|
|
@ -0,0 +1,15 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
body {
|
||||
width: 500px;
|
||||
}
|
||||
span {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
background: orange;
|
||||
margin: 0 50px;
|
||||
}
|
||||
</style>
|
||||
<span></span>
|
Loading…
Add table
Add a link
Reference in a new issue