layout: Make position: relative with non-auto z-index create a

stacking context.

Improves imgur.com and Fast Company articles.
This commit is contained in:
Patrick Walton 2015-08-18 15:24:35 -07:00
parent d48f6ffbad
commit fed904fff5
6 changed files with 48 additions and 6 deletions

View file

@ -2023,15 +2023,17 @@ impl Fragment {
overflow_x::T::visible,
overflow_x::T::visible) |
(position::T::fixed,
z_index::T::Auto,
overflow_x::T::visible,
overflow_x::T::visible) |
(position::T::relative,
z_index::T::Auto,
overflow_x::T::visible,
overflow_x::T::visible) => false,
(position::T::absolute, _, _, _) |
(position::T::fixed, _, _, _) => true,
(position::T::relative, _, _, _) |
(position::T::fixed, _, _, _) |
(position::T::relative, _, _, _) => true,
(position::T::static_, _, _, _) => {
// FIXME(pcwalton): `position: relative` establishes a new stacking context if
// `z-index` is not `auto`. But this matches what we did before.
false
}
}

View file

@ -291,6 +291,7 @@ flaky_cpu == linebreak_simple_a.html linebreak_simple_b.html
== position_relative_a.html position_relative_b.html
== position_relative_inline_block_a.html position_relative_inline_block_ref.html
== position_relative_painting_order_a.html position_relative_painting_order_ref.html
== position_relative_stacking_context_a.html position_relative_stacking_context_ref.html
== position_relative_top_percentage_a.html position_relative_top_percentage_b.html
== pre_ignorable_whitespace_a.html pre_ignorable_whitespace_ref.html
== pre_with_tab.html pre_with_tab_ref.html

View file

@ -0,0 +1,24 @@
<!DOCTYPE html>
<style>
body, html {
margin: 0;
}
div {
width: 100px;
height: 100px;
}
#a {
position: relative;
z-index: 2;
background: green;
}
#b {
position: absolute;
background: red;
top: 0;
left: 0;
}
</style>
<div id=a></div>
<div id=b></div>

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<style>
body, html {
margin: 0;
}
#a {
position: absolute;
background: green;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
</style>
<div id=a></div>

View file

@ -1,3 +1,3 @@
[floats-041.htm]
[min-height-106.htm]
type: reftest
expected: FAIL

View file

@ -20,7 +20,6 @@
left: 50px;
width: 64px;
height: 32px;
overflow: hidden;
}
#destination .img img{