How to create RGB color generator using HTML CSS and JavaScript ?
In this article, we will create a RGB color generator using HTML, CSS, and JavaScript. Using RGB color generator, we can construct all the colors from the combination of Red, Green, Blue colors. Each color is represented by the range of decimal numbers from 0 to 255 (256 levels for each color). So, the total number of available colors is 256 x 256 x 256, or 16,777,216 possible colors.
Approach:
- Create an input type range slider for each color.
- Set the min and max value of the slider as 0 and 255 respectively.
- Get the value of each color and store it in the three variables.
- Use rgb() function to generate the color by giving value of three colors as parameters.
index.html
<!DOCTYPE html>
< html >
< head >
< meta charset = "utf-8" >
< title >RGB Colour Generator</ title >
< link rel = "stylesheet" type = "text/css"
href = "style.css" >
</ head >
< body >
< h1 >RGB Colour Generator</ h1 >
< div class = "main" >
Result:< input type = "text" id = "box"
value = "rgb(255,255,255)" >
Red:< input type = "range" id = "red"
value = "255" min = "0" max = "255" >
Green:< input type = "range" id = "green"
value = "255" min = "0" max = "255" >
Blue:< input type = "range" id = "blue"
value = "255" min = "0" max = "255" >
</ div >
< script src = "script.js" ></ script >
</ body >
</ html >
|
style.css
body {
margin : 0 ;
padding : 0 ;
display : grid;
place-items: center ;
height : 100 vh;
}
.main {
height : 400px ;
width : 250px ;
background : #333 ;
border-radius: 10px ;
display : grid;
place-items: center ;
color : #fff ;
font-family : verdana ;
}
#box {
height : 40px ;
width : 80% ;
border : none ;
outline : none ;
outline : none ;
border-radius: 50px ;
text-align : center ;
}
input[type= "range" ] {
-webkit-appearance: none ;
height : 10px ;
width : 80% ;
border-radius: 50px ;
outline : none ;
}
input[type= "range" ]::-webkit-slider-thumb {
-webkit-appearance: none ;
height : 25px ;
width : 25px ;
background : #fff ;
border-radius: 50% ;
cursor : pointer ;
}
.main # red {
background : linear-gradient( 90 deg, #000 , red );
}
.main # green {
background : linear-gradient( 90 deg, #000 , green );
}
.main # blue {
background : linear-gradient( 90 deg, #000 , blue );
}
|
script.js
function myColour() {
var red = document.getElementById( 'red' ).value;
var green = document.getElementById( 'green' ).value;
var blue = document.getElementById( 'blue' ).value;
var colour = 'rgb(' + red + ',' + green + ',' + blue + ')' ;
document.body.style.backgroundColor = colour;
document.getElementById( 'box' ).value = colour;
}
document.getElementById( 'red' )
.addEventListener( 'input' , myColour);
document.getElementById( 'green' )
.addEventListener( 'input' , myColour);
document.getElementById( 'blue' )
.addEventListener( 'input' , myColour);
|
Output:
Last Updated :
29 Jan, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...