gecko-dev/layout/reftests/css-display/display-contents-style-inhe...

158 строки
4.9 KiB
HTML

<!DOCTYPE html>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<html lang="en-US" class="reftest-wait">
<head>
<meta charset="utf-8">
<title>CSS Test: CSS display:contents; style inheritance, DOM mutations</title>
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=907396">
<link rel="help" href="http://dev.w3.org/csswg/css-display">
<style type="text/css">
body,span { color:black; background-color:white; }
.test { display:contents; }
.green { color:green; }
.border { border-left:1px solid green; }
b { border:inherit; font-weight:normal; }
</style>
<script>
function $(id) { return document.getElementById(id); }
function text(s) { return document.createTextNode(s); }
function b(s) { var e = document.createElement('b'); e.appendChild(document.createTextNode(s)); return e; }
function div(s) { var e = document.createElement('div'); e.setAttribute('class','test'); e.appendChild(document.createTextNode(s)); return e; }
function runTest() {
document.body.offsetHeight;
var e = $('t1');
var c = e.firstChild;
e.insertBefore(text('g'), c);
e.insertBefore(text('r'), c);
e.appendChild(text('n'));
var e = $('t1b');
var c = e.firstChild;
e.insertBefore(text('g'), c);
e.insertBefore(text('r'), c);
e.appendChild(text('n'));
var e = $('t2');
var c = e.firstChild;
e.insertBefore(text('gr'), c);
e.appendChild(text('n'));
var e = $('t2b');
var c = e.firstChild;
e.insertBefore(text('gr'), c);
e.appendChild(text('n'));
var e = $('t3');
var c = e.firstChild;
e.insertBefore(text('n'), c);
e.insertBefore(text('o'), c);
e.appendChild(text('er'));
var e = $('t4');
var c = e.firstChild;
e.insertBefore(text('n'), c);
e.insertBefore(text('o'), c);
e.appendChild(text('er'));
var e = $('t5');
var c = e.firstChild;
e.insertBefore(b('1px green left '), c);
e.appendChild(text('er'));
var e = $('t6');
e.appendChild(b('2px green left border'));
var e = $('t7');
e.appendChild(div('green'));
var e = $('t8');
e.appendChild(div('green'));
var e = $('t9');
var c = b("1px green left border");
var d = div('');
d.appendChild(c);
e.appendChild(d);
var e = $('t10');
var c = b("1px green left border");
var d = div('');
d.setAttribute('style','border:inherit');
d.appendChild(c);
e.appendChild(d);
var e = $('t11');
var c = b("2px green left border");
var d = div('');
d.setAttribute('style','border:inherit');
d.appendChild(c);
e.appendChild(d);
var e = $('t12');
var c = e.firstChild;
e.insertBefore(text("This text"), c);
e.insertBefore(b(" should be"), c);
e.appendChild(text(" green"));
var e = $('t13');
e.className = 'test';
var e = $('t14');
e.removeAttribute('style')
var e = $('t15');
e.innerHTML=':scope{color:green}';
var e = $('t16');
e.innerHTML=':scope{color:inherit}';
var e = $('t17');
e.innerHTML=':scope{color:inherit}';
e.parentNode.appendChild(text("green"));
var e = $('t18');
var c = e.appendChild(div("green"));
document.body.offsetHeight;
document.styleSheets[8].cssRules[0].style.setProperty('color','green');
document.body.offsetHeight;
document.documentElement.className = '';
}
</script>
</head>
<body onload="runTest()">
<span class="green"><div class="test" id="t1">ee</div></span>
<span class="green"><div class="test" id="t1b">ee</div>x</span>
<span><div class="test green" id="t2">ee</div></span>
<span><div class="test green" id="t2b">ee</div>x</span>
<br>
<span><div class="test border" id="t3"> bord</div></span>
<span><div class="test border" id="t4"><span> bord</span></div></span>
<span class="border"><div class="test" id="t5">bord</div></span>
<span class="border"><div class="test" style="border:inherit" id="t6"></div></span>
<br>
<span class="green"><div class="test" id="t7"></div></span>
<span><div class="test green" id="t8"></div></span>
<br>
<span class="border"><div class="test" id="t9"></div></span>
<span class="border"><div class="test" id="t10"></div></span>
<span class="border"><div class="test" style="border:inherit" id="t11"></div></span>
<br>
<span style="color:red"><div class="test green" id="t12"></div></span>
<span style="color:red"><span><style scoped>:scope{color:green}</style><di id="t13"v>green</div></span></span>
<span style="color:red"><span class="test"><style scoped>:scope{color:green}</style><div id="t14" class="test" style="color:red">green</div></span></span>
<span style="color:red"><div class="test"><style id="t15" scoped></style>green</div></span>
<span style="color:red"><div class="test"><style scoped>:scope{color:green}</style>
<div class="test"><style scoped id="t16"></style>green</div>
<div class="test"><style scoped id="t17"></style></div></div></span>
<span style="color:red"><div class="test"><style scoped>:scope{color:red}</style>
<div class="test" id="t18"><style scoped>:scope{color:red}</style></div></div></span>
</body>
</html>