/* ------------------------------------------------------------------------------ * * # Image cropper * * Styles for cropper.min.js - a simple jQuery image cropping plugin * * Version: 1.0 * Latest update: May 25, 2015 * * ---------------------------------------------------------------------------- */ // Demo // ------------------------------ // Grey demo container .image-cropper-container { height: 350px; width: 100%; overflow: hidden; background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC"); } // Demo previews .eg-preview { text-align: center; font-size: 0; // Container .preview { margin: 10px auto 0 auto; display: block; overflow: hidden; vertical-align: middle; border-radius: @border-radius-small; @media (min-width: @screen-sm-min) { display: inline-block; margin-left: 0; margin-right: 0; + .preview { margin-left: 15px; } } } // Large .preview-lg { width: 150px; height: 150px; } // Base .preview-md { width: 120px; height: 120px; } // Small .preview-sm { width: 90px; height: 90px; } // Mini .preview-xs { width: 60px; height: 60px; } // Micro .preview-xxs { width: 40px; height: 40px; } @media (min-width: @screen-sm-min) { white-space: nowrap; max-width: 100%; overflow: auto; } } // Core // ------------------------------ // Main container .cropper-container { font-size: 0; line-height: 0; position: relative; direction: ltr !important; -ms-touch-action: none; touch-action: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; .user-select(none); // Image img { display: block; width: 100%; min-width: 0 !important; max-width: none !important; height: 100%; min-height: 0 !important; max-height: none !important; image-orientation: 0deg !important; } } // Containers .cropper-wrap-box, .cropper-canvas, .cropper-drag-box, .cropper-crop-box, .cropper-modal { position: absolute; top: 0; right: 0; bottom: 0; left: 0; } // Wrap box .cropper-wrap-box { overflow: hidden; } // Drag box .cropper-drag-box { background-color: #fff; .opacity(0); } // Modal .cropper-modal { background-color: @modal-backdrop-bg; .opacity(@modal-backdrop-opacity); } // View box .cropper-view-box { display: block; overflow: hidden; width: 100%; height: 100%; } // Dashed cropper .cropper-dashed { position: absolute; display: block; border: 0 dashed #eee; .opacity(0.5); // Horizontal &.dashed-h { top: 33.33333%; left: 0; width: 100%; height: 33.33333%; border-top-width: 1px; border-bottom-width: 1px; } // Vertical &.dashed-v { top: 0; left: 33.33333%; width: 33.33333%; height: 100%; border-right-width: 1px; border-left-width: 1px; } } // Center cropper .cropper-center { position: absolute; top: 50%; left: 50%; display: block; width: 0; height: 0; .opacity(0.75); // Lines &:before, &:after { content: ' '; position: absolute; display: block; background-color: #eee; } &:before { top: 0; left: -3px; width: 7px; height: 1px; } &:after { top: -3px; left: 0; width: 1px; height: 7px; } } // // Cropper area // // Common .cropper-face, .cropper-line, .cropper-point { position: absolute; display: block; width: 100%; height: 100%; .opacity(0.1); } // Main area .cropper-face { top: 0; left: 0; background-color: #fff; } // Lines .cropper-line { background-color: @color-primary-500; // Right &.line-e { top: 0; right: -3px; width: 5px; cursor: e-resize; } // Top &.line-n { top: -3px; left: 0; height: 5px; cursor: n-resize; } // Left &.line-w { top: 0; left: -3px; width: 5px; cursor: w-resize; } // Bottom &.line-s { bottom: -3px; left: 0; height: 5px; cursor: s-resize; } } // Points .cropper-point { width: 5px; height: 5px; background-color: @color-primary-500; .opacity(0.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; width: 20px; height: 20px; cursor: se-resize; .opacity(1); &:before { content: ' '; position: absolute; right: -50%; bottom: -50%; display: block; width: 200%; height: 200%; background-color: @color-primary-500; .opacity(0); } @media (min-width: @screen-sm-min) { width: 15px; height: 15px; } @media (min-width: @screen-md-min) { width: 10px; height: 10px; } @media (min-width: @screen-lg-min) { width: 5px; height: 5px; .opacity(0.75); } } } // Misc // ------------------------------ // Background .cropper-bg { background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC'); } // Invisible elements .cropper-invisible { .opacity(0); } // Hidden elements .cropper-hide { position: absolute; display: block; width: 0; height: 0; } .cropper-hidden { display: none !important; } // Disabled elements .cropper-disabled { .cropper-drag-box, .cropper-face, .cropper-line, .cropper-point { cursor: @cursor-disabled; } } // // Cursors // // Move .cropper-move { cursor: move; } // Crop .cropper-crop { cursor: crosshair; }