// Cropper // ========================= .cropper-container { position: relative; font-size: 0; line-height: 0; direction: ltr !important; // Ignore global rtl touch-action: none; user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; img { // Avoid margin top issue (Occur only when margin-top <= -height) display: block; // https://developer.mozilla.org/en-US/docs/Web/CSS/image-orientation image-orientation: 0deg !important; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; @include square(100%); } } .cropper-wrap-box, .cropper-canvas, .cropper-drag-box, .cropper-crop-box, .cropper-modal { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .cropper-wrap-box { overflow: hidden; } .cropper-drag-box { background-color: #fff; @include opacity(0); } .cropper-modal { background-color: #000; @include opacity(.5); } .cropper-view-box { display: block; overflow: hidden; outline: 1px solid $color-brand; outline-color: rgba($color-brand, .75); @include square(100%); } .cropper-dashed { position: absolute; display: block; border: 0 dashed #eee; @include opacity(.5); &.dashed-h { top: percentage(1 / 3); left: 0; border-top-width: 1px; border-bottom-width: 1px; @include size(100%, percentage(1 / 3)); } &.dashed-v { top: 0; left: percentage(1 / 3); border-right-width: 1px; border-left-width: 1px; @include size(percentage(1 / 3), 100%); } } .cropper-center { position: absolute; top: 50%; left: 50%; display: block; width: 0; height: 0; @include opacity(.75); &:before, &:after { position: absolute; display: block; background-color: #eee; content: " "; } &:before { top: 0; left: -3px; width: 7px; height: 1px; } &:after { top: -3px; left: 0; width: 1px; height: 7px; } } .cropper-face, .cropper-line, .cropper-point { position: absolute; display: block; @include square(100%); @include opacity(.1); } .cropper-face { top: 0; left: 0; background-color: #fff; } .cropper-line { background-color: $color-brand; &.line-e { top: 0; right: -3px; width: 5px; cursor: e-resize; } &.line-n { top: -3px; left: 0; height: 5px; cursor: n-resize; } &.line-w { top: 0; left: -3px; width: 5px; cursor: w-resize; } &.line-s { bottom: -3px; left: 0; height: 5px; cursor: s-resize; } } .cropper-point { background-color: $color-brand; @include square(5px); @include opacity(.75); &.point-e { top: 50%; right: -3px; margin-top: -3px; cursor: e-resize; } &.point-n { top: -3px; left: 50%; margin-left: -3px; cursor: n-resize; } &.point-w { top: 50%; left: -3px; margin-top: -3px; cursor: w-resize; } &.point-s { bottom: -3px; left: 50%; margin-left: -3px; cursor: s-resize; } &.point-ne { top: -3px; right: -3px; cursor: ne-resize; } &.point-nw { top: -3px; left: -3px; cursor: nw-resize; } &.point-sw { bottom: -3px; left: -3px; cursor: sw-resize; } &.point-se { right: -3px; bottom: -3px; cursor: se-resize; @include square(20px); @include opacity(1); } &.point-se:before { position: absolute; right: -50%; bottom: -50%; display: block; content: " "; background-color: $color-brand; @include square(200%); @include opacity(0); } @media (min-width: $screen-sm) { &.point-se { @include square(15px); } } @media (min-width: $screen-md) { &.point-se { @include square(10px); } } @media (min-width: $screen-lg) { &.point-se { @include square(5px); @include opacity(.75); } } }