TopRightBottomLeft.scss 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Top / Right / Bottom / Left
  2. // $pxNames: '0' ,'px' ,'0-5' ,'1' ,'1-5' ,'2' ,'2-5' ,'3' ,'3-5' ,'4' ,'5' ,'6' ,'7' ,'8' ,'9' ,'10' ,'11' ,'12' ,'14' ,'16' ,'20' ,'24' ,'28' ,'32' ,'36' ,'40' ,'44' ,'48' ,'52' ,'56' ,'60' ,'64' ,'72' ,'80' ,'96';
  3. // $pctNames: '1_2' ,'1_3' ,'2_3' ,'1_4' ,'2_4' ,'3_4' ,'1_5' ,'2_5' ,'3_5' ,'4_5' ,'1_6' ,'2_6' ,'3_6' ,'4_6' ,'5_6' ,'1_12' ,'2_12' ,'3_12' ,'4_12' ,'5_12' ,'6_12' ,'7_12' ,'8_12' ,'9_12' ,'10_12' ,'11_12';
  4. // @mixin setPxs($pxs) {
  5. // @each $name in $pxs{
  6. // $varName: --rpx-#{$name};
  7. // @include render($name, $varName);
  8. // }
  9. // }
  10. // @mixin setPcts($pxs) {
  11. // @each $name in $pxs{
  12. // $varName: --percent-#{$name};
  13. // @include render($name, $varName);
  14. // }
  15. // }
  16. @mixin render($name, $varName) {
  17. .inset-#{$name} { inset: var($varName); }
  18. .inset-x-#{$name} {
  19. left: var($varName);
  20. right: var($varName);
  21. }
  22. .inset-y-#{$name} {
  23. top: var($varName);
  24. bottom: var($varName);
  25. }
  26. .start-#{$name} { inset-inline-start: var($varName); }
  27. .end-#{$name} { inset-inline-end: var($varName); }
  28. .top-#{$name} { top: var($varName); }
  29. .right-#{$name} { right: var($varName); }
  30. .bottom-#{$name} { bottom: var($varName); }
  31. .left-#{$name} { left: var($varName); }
  32. .-top-#{$name} { top: calc(var($varName) * -1); }
  33. .-right-#{$name} { right: calc(var($varName) * -1); }
  34. .-bottom-#{$name} { bottom: calc(var($varName) * -1); }
  35. .-left-#{$name} { left: calc(var($varName) * -1); }
  36. }
  37. @include setPxs($pxNames);
  38. @include setPcts($pctNames);
  39. $morePcts: auto, full;
  40. @include setPcts($morePcts);
  41. .top-safe {
  42. top: calc(var(--window-top) + var(--status-bar-height) + constant(safe-area-inset-top));
  43. top: calc(var(--window-top) + var(--status-bar-height) + env(safe-area-inset-top));
  44. }
  45. .right-safe {
  46. right: calc(constant(safe-area-inset-right));
  47. right: calc(env(safe-area-inset-right));
  48. }
  49. .bottom-safe {
  50. bottom: calc(var(--window-bottom) + constant(safe-area-inset-bottom));
  51. bottom: calc(var(--window-bottom) + env(safe-area-inset-bottom));
  52. }
  53. .left-safe {
  54. left: calc(constant(safe-area-inset-left));
  55. left: calc(env(safe-area-inset-left));
  56. }