CSS圓形色盤是一種廣泛應用于網(wǎng)站設計和開發(fā)中的顏色選擇工具。它由一系列圓形顏色塊和中心點組成,每個顏色塊代表一種顏色。使用顏色選擇器,用戶可以在圓形色盤上選擇想要的顏色來應用到網(wǎng)站的文字、背景、邊框等等。
.circle { width: 200px; height: 200px; border-radius: 50%; position: relative; } .color { width: 100%; height: 100%; border-radius: 50%; position: absolute; top: 0; left: 0; transform: rotate(-90deg); transform-origin: 50% 50%; }
實現(xiàn)一個圓形色盤,我們需要兩個圓形元素,其中一個元素是色盤的背景,另一個元素是色盤的顏色。我們可以使用CSS的border-radius屬性來將一個div元素變成圓形。使用絕對定位和z-index來確保色塊元素覆蓋背景元素。
為了讓圓形色盤更直觀易用,我們還要添加JavaScript代碼,實現(xiàn)顏色的選中和顯示。通過監(jiān)聽鼠標事件,并計算出鼠標在色盤上的位置,我們可以獲取到相應的顏色值。另外,還可以在圓形色盤下方添加RGB值和HEX值輸入框,方便用戶輸入自己需要的顏色。
var circle = document.getElementById('circle'); var color = document.getElementById('color'); var rgb = document.getElementById('rgb'); var hex = document.getElementById('hex'); function getColor(x, y) { var centerX = circle.offsetWidth / 2; var centerY = circle.offsetHeight / 2; var angle = Math.atan2(y - centerY, x - centerX); var degree = angle * 180 / Math.PI; if (degree< 0) { degree += 360; } var percent = degree / 360; var hue = percent * 360; return 'hsl(' + hue + ', 100%, 50%)'; } circle.addEventListener('mousemove', function(e) { var x = e.offsetX; var y = e.offsetY; var colorVal = getColor(x, y); color.style.backgroundColor = colorVal; rgb.innerHTML = colorVal; hex.innerHTML = rgbToHex(colorVal); }); function rgbToHex(rgbVal) { var parts = rgbVal.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); delete(parts[0]); for (var i = 1; i<= 3; ++i) { parts[i] = parseInt(parts[i]).toString(16); if (parts[i].length == 1) parts[i] = '0' + parts[i]; } return '#' + parts.join(''); }
總之,CSS圓形色盤是一個非常實用且方便的工具,它可以大大簡化網(wǎng)站設計和開發(fā)中的顏色選擇過程。