GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — wpt/css/css-pseudo/pseudo-replaced-elements.html at master · web-platform-tests/wpt Expand file tree/ Copy pathpseudo-replaced-elements.htmlMore file actions 77 lines (75 loc) · 2.95 KB / Copy pathpseudo-replaced-elements.htmlFile metadata and controls77 lines (75 loc) · 2.95 KB 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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 <!doctype html> <meta charset="utf-8"> <link rel="author" href="https://mozilla.org" title="Mozilla"> <link rel="help" href="https://issues.chromium.org/issues/365052666"> <link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1911253"> <link rel="help" href="https://drafts.csswg.org/css-pseudo/#generated-content"> <!-- https://drafts.csswg.org/css-pseudo/#generated-content: Also as with regular child elements, the ::before and ::after pseudo-elements are suppressed when their parent, the originating element, is replaced. --> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <title>Replaced elements don't generate before / after CSS pseudo-elements</title> <style> input::before, video::before, progress::before { content: "X"; display: block; /* Not resolvable if box is not generated */ width: 10%; } span { display: block; /* Not resolvable if box is not generated */ width: 10%; } </style> <input type=text> <input type=date> <input type=time> <input type=datetime-local> <input type=checkbox> <input type=radio> <input type=file> <input type=range> <input type=color> <input type=hidden> <input type=search> <video controls></video> <video></video> <progress></progress> <!-- These are special since they are no longer replaced with appearance: none --> <input style="appearance: none" type=checkbox> <input style="appearance: none" type=radio> <!-- These are not special --> <input style="appearance: none" type=text> <input style="appearance: none" type=date> <input style="appearance: none" type=time> <input style="appearance: none" type=datetime-local> <input style="appearance: none" type=file> <input style="appearance: none" type=range> <input style="appearance: none" type=color> <input style="appearance: none" type=hidden> <input style="appearance: none" type=search> <progress></progress> <script> for (let element of document.querySelectorAll("input, video")) { test(function() { const child = element.appendChild(document.createElement("span")); const childWidth = getComputedStyle(child).width; const hasChildBox = childWidth.endsWith("px"); const pseudoWidth = getComputedStyle(element, "::before").width; const hasPseudoBox = pseudoWidth.endsWith("px"); assert_equals(hasChildBox, hasPseudoBox, "Should only generate a box for pseudo-elements if it generates a box for child elements"); if (hasChildBox || hasPseudoBox) { assert_equals(childWidth, pseudoWidth, "Child and pseudo sizes should match"); } const expectedBox = element.style.appearance == "none" && (element.type == "checkbox" || element.type == "radio"); assert_equals(hasPseudoBox, expectedBox, "Should only generate a box for appearance: none checkboxes/radio buttons"); }, `${element.tagName} ${element.style.cssText} ${element.type || element.controls || ""}`); } </script> |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |