hit-area.css 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. @utility hit-area-debug {
  2. position: relative;
  3. &::before {
  4. content: '';
  5. position: absolute;
  6. top: var(--hit-area-t, 0px);
  7. right: var(--hit-area-r, 0px);
  8. bottom: var(--hit-area-b, 0px);
  9. left: var(--hit-area-l, 0px);
  10. pointer-events: inherit;
  11. @apply border border-dashed border-blue-500 bg-blue-500/10;
  12. }
  13. &:hover::before {
  14. @apply border border-dashed border-green-500 bg-green-500/10;
  15. }
  16. }
  17. @utility hit-area {
  18. position: relative;
  19. &::before {
  20. content: '';
  21. position: absolute;
  22. top: var(--hit-area-t, 0px);
  23. right: var(--hit-area-r, 0px);
  24. bottom: var(--hit-area-b, 0px);
  25. left: var(--hit-area-l, 0px);
  26. pointer-events: inherit;
  27. }
  28. }
  29. @utility hit-area-* {
  30. position: relative;
  31. --hit-area-t: --spacing(--value(number) * -1);
  32. --hit-area-t: calc(--value([*]) * -1);
  33. --hit-area-b: --spacing(--value(number) * -1);
  34. --hit-area-b: calc(--value([*]) * -1);
  35. --hit-area-l: --spacing(--value(number) * -1);
  36. --hit-area-l: calc(--value([*]) * -1);
  37. --hit-area-r: --spacing(--value(number) * -1);
  38. --hit-area-r: calc(--value([*]) * -1);
  39. &::before {
  40. content: '';
  41. position: absolute;
  42. top: var(--hit-area-t, 0px);
  43. right: var(--hit-area-r, 0px);
  44. bottom: var(--hit-area-b, 0px);
  45. left: var(--hit-area-l, 0px);
  46. pointer-events: inherit;
  47. }
  48. }
  49. @utility hit-area-l-* {
  50. position: relative;
  51. --hit-area-l: --spacing(--value(number) * -1);
  52. --hit-area-l: calc(--value([*]) * -1);
  53. &::before {
  54. content: '';
  55. position: absolute;
  56. top: var(--hit-area-t, 0px);
  57. right: var(--hit-area-r, 0px);
  58. bottom: var(--hit-area-b, 0px);
  59. left: var(--hit-area-l, 0px);
  60. pointer-events: inherit;
  61. }
  62. }
  63. @utility hit-area-r-* {
  64. position: relative;
  65. --hit-area-r: --spacing(--value(number) * -1);
  66. --hit-area-r: calc(--value([*]) * -1);
  67. &::before {
  68. content: '';
  69. position: absolute;
  70. top: var(--hit-area-t, 0px);
  71. right: var(--hit-area-r, 0px);
  72. bottom: var(--hit-area-b, 0px);
  73. left: var(--hit-area-l, 0px);
  74. pointer-events: inherit;
  75. }
  76. }
  77. @utility hit-area-t-* {
  78. position: relative;
  79. --hit-area-t: --spacing(--value(number) * -1);
  80. --hit-area-t: calc(--value([*]) * -1);
  81. &::before {
  82. content: '';
  83. position: absolute;
  84. top: var(--hit-area-t, 0px);
  85. right: var(--hit-area-r, 0px);
  86. bottom: var(--hit-area-b, 0px);
  87. left: var(--hit-area-l, 0px);
  88. pointer-events: inherit;
  89. }
  90. }
  91. @utility hit-area-b-* {
  92. position: relative;
  93. --hit-area-b: --spacing(--value(number) * -1);
  94. --hit-area-b: calc(--value([*]) * -1);
  95. &::before {
  96. content: '';
  97. position: absolute;
  98. top: var(--hit-area-t, 0px);
  99. right: var(--hit-area-r, 0px);
  100. bottom: var(--hit-area-b, 0px);
  101. left: var(--hit-area-l, 0px);
  102. pointer-events: inherit;
  103. }
  104. }
  105. @utility hit-area-x-* {
  106. position: relative;
  107. --hit-area-l: --spacing(--value(number) * -1);
  108. --hit-area-l: calc(--value([*]) * -1);
  109. --hit-area-r: --spacing(--value(number) * -1);
  110. --hit-area-r: calc(--value([*]) * -1);
  111. &::before {
  112. content: '';
  113. position: absolute;
  114. top: var(--hit-area-t, 0px);
  115. right: var(--hit-area-r, 0px);
  116. bottom: var(--hit-area-b, 0px);
  117. left: var(--hit-area-l, 0px);
  118. pointer-events: inherit;
  119. }
  120. }
  121. @utility hit-area-y-* {
  122. position: relative;
  123. --hit-area-t: --spacing(--value(number) * -1);
  124. --hit-area-t: calc(--value([*]) * -1);
  125. --hit-area-b: --spacing(--value(number) * -1);
  126. --hit-area-b: calc(--value([*]) * -1);
  127. &::before {
  128. content: '';
  129. position: absolute;
  130. top: var(--hit-area-t, 0px);
  131. right: var(--hit-area-r, 0px);
  132. bottom: var(--hit-area-b, 0px);
  133. left: var(--hit-area-l, 0px);
  134. pointer-events: inherit;
  135. }
  136. }