blob: 45a25085d321de52a945e4bacfc36eec70c624ee (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="utf-8" />
<title>CSS transforms: Creating containing block for fixed positioned elements</title>
<link href="http://dbaron.org/" rel="author" title="L. David Baron" />
<link href="http://www.mozilla.org/" rel="author" title="Mozilla" />
<link href="https://drafts.csswg.org/css-transforms-1/#transform-rendering" rel="help" />
<link href="https://drafts.csswg.org/css-transforms-1/#transform-property" rel="help" />
<link href="reference/containing-block-dynamic-1-ref.xht" rel="match" />
<meta content="For elements whose layout is governed by the CSS box model, any value other than none for the transform results in the creation of both a stacking context and a containing block. The object acts as a containing block for fixed positioned descendants." name="assert" />
<meta content="The object acts as a containing block for fixed positioned descendants." name="assert" U0003Cmeta="" />
<style>
html, body { margin: 0; padding: 0 }
#changetransform {
position: absolute;
top: 100px;
left: 100px;
}
#abscovered {
position: absolute;
top: 50px;
left: 50px;
background: red;
height: 100px;
width: 100px;
}
#fixedmoves {
position: fixed;
top: 150px;
left: 150px;
background: green;
height: 100px;
width: 100px;
}
</style>
</head><body>
<div style="transform: translateX(4px)" id="changetransform">
<div id="abscovered"></div>
<div id="fixedmoves"></div>
</div>
<script>
var changetransform = document.getElementById("changetransform");
var fixedmoves = document.getElementById("fixedmoves");
var causeFlush = fixedmoves.offsetTop;
changetransform.style.transform = "";
</script>
</body></html>
|