File: offsetParent-body-and-html.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (47 lines) | stat: -rw-r--r-- 1,794 bytes parent folder | download
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
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSSOM View: offsetParent</title>
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com">
<link rel="help" href="https://drafts.csswg.org/cssom-view-1/#dom-htmlelement-offsetparent">
<link rel="help" href="https://github.com/w3c/csswg-drafts/issues/12834">
<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>