8
0

widget.css 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /*
  2. * Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. :root {
  6. --ck-color-resizer: var(--ck-color-focus-border);
  7. --ck-resizer-size: 10px;
  8. --ck-resizer-border-width: 1px;
  9. --ck-resizer-border-radius: 2px;
  10. /* Set resizer with 50% offset. */
  11. --ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);
  12. --ck-resizer-tooltip-offset: 10px;
  13. --ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);
  14. --ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);
  15. }
  16. .ck .ck-widget_with-resizer {
  17. /* Make the widget wrapper a relative positioning container for the drag handler. */
  18. position: relative;
  19. }
  20. .ck-focused .ck-widget_with-resizer.ck-widget_selected {
  21. & > .ck-widget__resizer-wrapper {
  22. visibility: visible;
  23. }
  24. & .ck-widget__resizer-shadow {
  25. display: block;
  26. }
  27. }
  28. .ck .ck-widget__resizer-wrapper {
  29. visibility: hidden;
  30. position: absolute;
  31. /* The wrapper itself should not interfere with pointer device, only the handlers. */
  32. pointer-events: none;
  33. left: 0;
  34. top: 0;
  35. }
  36. .ck .ck-widget__resizer-shadow {
  37. display: none;
  38. position: absolute;
  39. left: 0;
  40. right: 0;
  41. top: 0;
  42. bottom: 0;
  43. outline: 1px solid var(--ck-color-resizer);
  44. }
  45. .ck .ck-widget__resizer {
  46. position: absolute;
  47. /* Resizers are the only UI elements that should interfere with pointer device. */
  48. pointer-events: all;
  49. width: var(--ck-resizer-size);
  50. height: var(--ck-resizer-size);
  51. background: var(--ck-color-focus-border);
  52. border: var(--ck-resizer-border-width) solid #fff;
  53. border-radius: var(--ck-resizer-border-radius);
  54. &.ck-widget__resizer-top-left {
  55. top: var( --ck-resizer-offset );
  56. left: var( --ck-resizer-offset );
  57. cursor: nwse-resize;
  58. }
  59. &.ck-widget__resizer-top-right {
  60. top: var( --ck-resizer-offset );
  61. right: var( --ck-resizer-offset );
  62. cursor: nesw-resize;
  63. }
  64. &.ck-widget__resizer-bottom-right {
  65. bottom: var( --ck-resizer-offset );
  66. right: var( --ck-resizer-offset );
  67. cursor: nwse-resize;
  68. }
  69. &.ck-widget__resizer-bottom-left {
  70. bottom: var( --ck-resizer-offset );
  71. left: var( --ck-resizer-offset );
  72. cursor: nesw-resize;
  73. }
  74. }
  75. .ck .ck-widget.ck-widget_with-selection-handler {
  76. /* Make the widget wrapper a relative positioning container for the drag handler. */
  77. position: relative;
  78. /* Show the selection handler on mouse hover over the widget. */
  79. &:hover {
  80. & .ck-widget__selection-handler {
  81. visibility: visible;
  82. }
  83. }
  84. & .ck-widget__selection-handler {
  85. position: absolute;
  86. & .ck-icon {
  87. /* Make sure the icon in not a subject to font-size/line-height to avoid
  88. unnecessary spacing around it. */
  89. display: block;
  90. }
  91. }
  92. /* Show the selection handler when the widget is selected. */
  93. &.ck-widget_selected .ck-widget__selection-handler {
  94. visibility: visible;
  95. }
  96. }
  97. .ck .ck-size-view {
  98. background: var(--ck-color-resizer-tooltip-background);
  99. color: var(--ck-color-resizer-tooltip-text);
  100. border: 1px solid var(--ck-color-resizer-tooltip-text);
  101. border-radius: var(--ck-resizer-border-radius);
  102. font-size: var(--ck-font-size-tiny);
  103. display: block;
  104. padding: var(--ck-spacing-small);
  105. &.ck-orientation-top-left,
  106. &.ck-orientation-top-right,
  107. &.ck-orientation-bottom-right,
  108. &.ck-orientation-bottom-left {
  109. position: absolute;
  110. }
  111. &.ck-orientation-top-left {
  112. top: var( --ck-resizer-tooltip-offset );
  113. left: var( --ck-resizer-tooltip-offset );
  114. }
  115. &.ck-orientation-top-right {
  116. top: var( --ck-resizer-tooltip-offset );
  117. right: var( --ck-resizer-tooltip-offset );
  118. }
  119. &.ck-orientation-bottom-right {
  120. bottom: var( --ck-resizer-tooltip-offset );
  121. right: var( --ck-resizer-tooltip-offset );
  122. }
  123. &.ck-orientation-bottom-left {
  124. bottom: var( --ck-resizer-tooltip-offset );
  125. left: var( --ck-resizer-tooltip-offset );
  126. }
  127. }