Author: | Golobro |
---|---|
Views Total: | 5,113 views |
Official Page: | Go to website |
Last Update: | February 9, 2019 |
License: | MIT |
Preview:

Description:
A vanilla JS color picker that allows you to pick an RGB color by moving the Red/Green/Blue sliders or entering numbers between 0 to 255.
How to use it:
Create the HTML for the color picker app.
<div class="color-slider-wrap"> <div class="color-wrap"> <div id="color-display"></div> </div> <div class="sliders"> <div> <label for="red">Red</label> <input type="number" id="redNum"> <input value="200" type="range" min="0" max="255" id="red"> </div> <div> <label for="green">Green</label> <input type="number" id="greenNum"> <input value="130" type="range" min="0" max="255" id="green"> </div> <div> <label for="blue">Blue</label> <input type="number" id="blueNum"> <input value="180" type="range" min="0" max="255" id="blue"> </div> </div> </div>
Load the main JavaScript right before the closing body tag.
<script src="js/main.js"></script>
The necessary CSS styles.
/* RGB title */ span:nth-child(1){ color: #ff0000; } span:nth-child(2){ color: #00ff00; } span:nth-child(3){ color: #0000ff; } .wrap{ padding: 10px; width: 500px; margin: 0 auto; } /* color display */ #color-display{ padding: 40px; box-shadow: 0 0 8px #aaaaaa; border-radius: 10px; } #color-display::before{ content: 'Move sliders to change Color or enter numbers between 0 to 255 in the number fields'; color: #ffffff; text-shadow: 0 0 4px #333333; } /* labels */ label{ padding: 10px; width: 50px; text-align: center; color: #ffffff; margin: 4px; border-radius: 6px; box-shadow: inset 0 0 2px #333333; } input[type=number], label{ display: inline-block; } /* number input */ .sliders input[type=number]{ text-align: center; width: 50px; padding: 10px 0 10px 10px; background: #ffffff; margin: 0 10px 0 4px; outline: none; border: 2px solid transparent; border-radius: 6px; transition: border 0.2s ease; box-shadow: 0 0 2px #333333; } .sliders input[type=number]:focus{ border: 2px solid #508cfc; } /* color sliders */ .sliders{ margin-top: 20px; padding: 20px; box-shadow: 0 0 8px #aaaaaa; border: 1px solid #f4f4f4; background: #f1f1f1; border-radius: 10px; } .sliders div{ padding: 4px; } /* range sliders */ .sliders input[type=range]{ height: 8px; border-radius: 10px; outline: none; width: 100%; box-shadow: 0 0 2px #444444, inset 0 0 2px #444444; } .sliders input[type=range], input[type=range]::-webkit-slider-thumb{ appearance: none; -webkit-appearance: none; } /* slider thumb */ .sliders input[type=range]::-webkit-slider-thumb{ height: 20px; width: 24px; border-radius: 20%; cursor: pointer; background: #cccccc; border: 2px solid #eeeeee; box-shadow: 0 0 4px #444444, inset 0 0 2px #444444; }
Changelog:
02/09/2019
- JS Update