| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <!DOCTYPE html> <title>Basic Visual Test</title>
- <style>
- @import '/reset.css';
- #reference {
- width: 200px;
- height: 200px;
- background-color: red;
- box-shadow: inset 0 0 0 1px black;
- }
- #popper {
- width: 100px;
- height: 100px;
- background-color: rebeccapurple;
- box-shadow: inset 0 0 0 1px black;
- }
- </style>
- <parent-element id="scroll">
- <div id="reference">Reference Box</div>
- </parent-element>
- <div id="popper">Popper Box</div>
- <script type="module">
- class ParentElement extends HTMLElement {
- constructor() {
- super();
- this.attachShadow({ mode: 'open' });
- this.shadowRoot.innerHTML = this.template;
- this.scrollParent = this.shadowRoot.querySelector('#scroll');
- }
- get scrollTop() {
- return this.scrollParent.scrollTop;
- }
- set scrollTop(top) {
- this.scrollParent.scrollTop = top;
- }
- get template() {
- return `
- <style>
- @import '/reset.css';
- :host {
- display: block;
- }
- #scroll {
- overflow: scroll;
- width: 300px;
- height: 300px;
- background-color: grey;
- }
- #scroll::before {
- content: 'before';
- display: block;
- height: 300px;
- width: 1px;
- }
- #scroll::after {
- content: 'after';
- display: block;
- height: 300px;
- width: 1px;
- }
- </style>
- <div id="scroll">
- <slot></slot>
- </div>
- `;
- }
- }
- customElements.define('parent-element', ParentElement);
- </script>
- <script type="module">
- import { createPopper } from '../dist/popper.js';
- const reference = document.querySelector('#reference');
- const popper = document.querySelector('#popper');
- window.instance = createPopper(reference, popper, {
- placement: 'right',
- });
- </script>
|