Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /css/cssom-view/offsetParent-body-and-html.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSSOM View: offsetParent</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
<meta name="assert" content="Checks offsetParent on <body> and <html> elements.">
<style>html, body { position: relative }</style>
<body>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
const root = document.documentElement;
const other_html = document.createElement("html");
const other_body_1 = document.createElement("body");
const other_body_2 = document.createElement("body");
const other_body_3 = document.createElement("body");
other_body_2.append(other_body_3);
other_html.append(other_body_2);
root.append(other_html, other_body_1);
test(() => {
assert_equals(root.offsetParent, null);
}, "The offsetParent of the root element is null");
test(() => {
assert_equals(other_html.offsetParent, root);
}, "The offsetParent of a <html> element which is not the root is computed normally");
test(() => {
assert_equals(document.body.offsetParent, null);
}, "The offsetParent of 'the body element' is null");
test(() => {
assert_equals(other_body_1.offsetParent, null);
}, "The offsetParent of a <body> element which has a previous <body> sibling is also null");
test(() => {
assert_equals(other_body_2.offsetParent, null);
}, "The offsetParent of a <body> element which is a child of a non-root <html> is also null");
test(() => {
assert_equals(other_body_3.offsetParent, null);
}, "The offsetParent of a <body> element which is a child of a non-<html> is also null");
</script>
</body>