Sin descripción

rounding.html 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <!DOCTYPE html> <title>Rounding Visual Test</title>
  2. <style>
  3. @import '/reset.css';
  4. .reference {
  5. margin: 2px 4px 8px 16px;
  6. box-shadow: inset 0 0 0 1px black;
  7. }
  8. .popper {
  9. background-color: rebeccapurple;
  10. box-shadow: inset 0 0 0 1px black;
  11. }
  12. #vertical,
  13. #horizontal {
  14. height: 50px;
  15. }
  16. </style>
  17. <div id="vertical"></div>
  18. <div id="horizontal"></div>
  19. <script type="module">
  20. import { createPopper } from './dist/popper.js';
  21. const vertical = document.querySelector('#vertical');
  22. const horizontal = document.querySelector('#horizontal');
  23. const placements = ['bottom-start', 'right-start'];
  24. const verticalData = [
  25. { reference: [20, 20], popper: [21, 20] },
  26. { reference: [21, 20], popper: [20, 20] },
  27. { reference: [20, 20], popper: [19, 20] },
  28. { reference: [19, 20], popper: [20, 20] },
  29. ];
  30. const horizontalData = [
  31. { reference: [20, 20], popper: [20, 21] },
  32. { reference: [20, 21], popper: [20, 20] },
  33. { reference: [20, 20], popper: [20, 19] },
  34. { reference: [20, 19], popper: [20, 20] },
  35. ];
  36. placements.forEach(placement => {
  37. const isVerticalPlacement = placement.includes('bottom');
  38. const container = isVerticalPlacement ? vertical : horizontal;
  39. const data = isVerticalPlacement ? verticalData : horizontalData;
  40. const display = isVerticalPlacement ? 'inline-block' : 'block';
  41. data.forEach(elementSizes => {
  42. const reference = document.createElement('div');
  43. reference.className = 'reference';
  44. reference.style.display = display;
  45. reference.style.width = `${elementSizes.reference[0]}px`;
  46. reference.style.height = `${elementSizes.reference[1]}px`;
  47. container.append(reference);
  48. const popper = document.createElement('div');
  49. popper.className = 'popper';
  50. popper.style.width = `${elementSizes.popper[0]}px`;
  51. popper.style.height = `${elementSizes.popper[1]}px`;
  52. container.append(popper);
  53. createPopper(reference, popper, { placement });
  54. });
  55. });
  56. </script>