color-picker.css
1 .color-picker, 2 .color-picker::before, 3 .color-picker::after, 4 .color-picker *, 5 .color-picker *::before, 6 .color-picker *::after { 7 box-sizing: border-box; 8 } 9 .color-picker { 10 position: absolute; 11 top: 0; 12 left: 0; 13 z-index: 9999; 14 box-shadow: 1px 3px 6px rgba(0, 0, 0, .5); 15 } 16 .color-picker > div { 17 display: flex; 18 height: 10em; 19 border: 1px solid #000; 20 color: #000; 21 } 22 .color-picker > div * { 23 border-color: inherit; 24 color: inherit; 25 } 26 .color-picker i { 27 font: inherit; 28 font-size: 12px; /* Measure the color picker control size by measuring the text size */ 29 } 30 .color-picker\:a, 31 .color-picker\:h, 32 .color-picker\:sv { 33 background-size: 100% 100%; 34 position: relative; 35 } 36 .color-picker\:a, 37 .color-picker\:h { 38 width: 1.5em; 39 border-left: 1px solid; 40 cursor: ns-resize; 41 overflow: hidden; 42 } 43 .color-picker\:a div, 44 .color-picker\:h div, 45 .color-picker\:sv div { 46 position: absolute; 47 top: 0; 48 right: 0; 49 bottom: 0; 50 left: 0; 51 } 52 .color-picker\:a i, 53 .color-picker\:h i { 54 display: block; 55 height: .5em; 56 position: absolute; 57 top: -.25em; 58 right: 0; 59 left: 0; 60 z-index: 2; 61 } 62 .color-picker\:a i::before, 63 .color-picker\:h i::before { 64 display: block; 65 content: ""; 66 position: absolute; 67 top: 0; 68 right: 0; 69 bottom: 0; 70 left: 0; 71 border:.25em solid; 72 border-top-color: transparent; 73 border-bottom-color: transparent; 74 } 75 .color-picker\:sv { 76 width: 10em; 77 cursor: crosshair; 78 overflow: hidden; 79 } 80 .color-picker\:sv i { 81 display: block; 82 width: .75em; 83 height: .75em; 84 position: absolute; 85 top: -.375em; 86 right: -.375em; 87 z-index: 2; 88 } 89 .color-picker\:sv i::before { 90 display: block; 91 content: ""; 92 position: absolute; 93 top: 0; 94 right: 0; 95 bottom: 0; 96 left: 0; 97 border: 1px solid #fff; 98 border-radius: 100%; 99 box-shadow: 0 0 2px #000; 100 } 101 .color-picker\:a div { 102 z-index: 2; 103 } 104 .color-picker\:a div + div { 105 background-image: linear-gradient(45deg, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%, #ddd 100%), linear-gradient(45deg, #ddd 25%, #fff 25%, #fff 75%, #ddd 75%, #ddd 100%); 106 background-size: .5em .5em; 107 background-position: 0 0, .25em .25em; 108 z-index: 1; 109 } 110 .color-picker\:h div { 111 background-image: linear-gradient(to top, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%); 112 } 113 .color-picker\:sv div + div { 114 background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0)); 115 } 116 .color-picker\:sv div + div + div { 117 background-image: linear-gradient(to top, #000, rgba(0, 0, 0, 0)); 118 } 119 .color-picker\:h, 120 .color-picker\:sv { 121 -webkit-touch-callout: none; 122 -webkit-user-select: none; 123 -moz-user-select: none; 124 -ms-user-select: none; 125 user-select: none; 126 -webkit-tap-highlight-color: rgba(0, 0, 0, 0); 127 -webkit-tap-highlight-color: transparent; 128 }