{"id":635,"date":"2026-10-02T10:13:31","date_gmt":"2026-10-02T10:13:31","guid":{"rendered":"https:\/\/mrcottle.co.uk\/WP\/?page_id=635"},"modified":"2026-10-02T10:15:52","modified_gmt":"2026-10-02T10:15:52","slug":"colourslider","status":"publish","type":"page","link":"https:\/\/mrcottle.co.uk\/WP\/colourslider\/","title":{"rendered":"ColourSlider"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"en\"><br \/>\n<head><br \/>\n    <meta charset=\"UTF-8\"><br \/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><\/p>\n<p>    <title>RGB Colour Mixer<\/title><\/p>\n<style>\n<p>        * {\n            box-sizing: border-box;\n        }<\/p>\n<p>        body {\n            margin: 0;\n            padding: 40px 20px;<\/p>\n<p>            font-family: Arial, sans-serif;<\/p>\n<p>            background-color: #eeeeee;<\/p>\n<p>            text-align: center;\n        }<\/p>\n<p>        h1 {\n            margin-bottom: 10px;\n        }<\/p>\n<p>        .instructions {\n            margin-bottom: 30px;\n        }<\/p>\n<p>        \/* =====================================\n           MAIN COLOUR DISPLAY\n           ===================================== *\/<\/p>\n<p>        #colourDisplay {\n            width: 100%;\n            max-width: 700px;<\/p>\n<p>            height: 250px;<\/p>\n<p>            margin: 0 auto 30px auto;<\/p>\n<p>            background-color: rgb(128, 128, 128);<\/p>\n<p>            border: 4px solid white;<\/p>\n<p>            border-radius: 12px;<\/p>\n<p>            box-shadow: 0 3px 10px rgba(0,0,0,0.2);<\/p>\n<p>            display: flex;\n            align-items: center;\n            justify-content: center;\n        }<\/p>\n<p>        \/* =====================================\n           RGB CONTROLS\n           ===================================== *\/<\/p>\n<p>        .controls {\n            width: 100%;\n            max-width: 700px;<\/p>\n<p>            margin: 0 auto;<\/p>\n<p>            background-color: white;<\/p>\n<p>            padding: 25px;<\/p>\n<p>            border-radius: 10px;<\/p>\n<p>            box-shadow: 0 3px 10px rgba(0,0,0,0.1);\n        }<\/p>\n<p>        .slider-row {\n            display: flex;\n            align-items: center;<\/p>\n<p>            margin: 20px 0;\n        }<\/p>\n<p>        .slider-label {\n            width: 80px;<\/p>\n<p>            font-weight: bold;<\/p>\n<p>            text-align: left;\n        }<\/p>\n<p>        .slider-value {\n            width: 45px;<\/p>\n<p>            font-family: monospace;<\/p>\n<p>            font-size: 18px;<\/p>\n<p>            font-weight: bold;<\/p>\n<p>            text-align: right;\n        }<\/p>\n<p>        \/* Sliders *\/<\/p>\n<p>        input[type=\"range\"] {\n            flex: 1;<\/p>\n<p>            margin: 0 15px;<\/p>\n<p>            cursor: pointer;\n        }<\/p>\n<p>        \/* Red slider *\/<\/p>\n<p>        #redSlider {\n            accent-color: red;\n        }<\/p>\n<p>        \/* Green slider *\/<\/p>\n<p>        #greenSlider {\n            accent-color: green;\n        }<\/p>\n<p>        \/* Blue slider *\/<\/p>\n<p>        #blueSlider {\n            accent-color: blue;\n        }<\/p>\n<p>        \/* =====================================\n           RGB INFORMATION\n           ===================================== *\/<\/p>\n<p>        .colour-information {\n            margin-top: 25px;<\/p>\n<p>            padding-top: 20px;<\/p>\n<p>            border-top: 1px solid #ddd;\n        }<\/p>\n<p>        .rgb-value {\n            font-family: monospace;<\/p>\n<p>            font-size: 24px;<\/p>\n<p>            font-weight: bold;<\/p>\n<p>            margin: 10px;\n        }<\/p>\n<p>        .hex-value {\n            font-family: monospace;<\/p>\n<p>            font-size: 20px;<\/p>\n<p>            color: #555;\n        }<\/p>\n<p>        \/* =====================================\n           RESET BUTTON\n           ===================================== *\/<\/p>\n<p>        button {\n            margin-top: 20px;<\/p>\n<p>            padding: 10px 25px;<\/p>\n<p>            border: none;<\/p>\n<p>            border-radius: 5px;<\/p>\n<p>            background-color: #333;<\/p>\n<p>            color: white;<\/p>\n<p>            font-size: 16px;<\/p>\n<p>            cursor: pointer;\n        }<\/p>\n<p>        button:hover {\n            background-color: #555;\n        }<\/p>\n<\/style>\n<p><\/head><\/p>\n<p><body><\/p>\n<h1>RGB Colour Mixer<\/h1>\n<div class=\"instructions\">\n<p>        Move the sliders to mix the<br \/>\n        <strong>Red<\/strong>,<br \/>\n        <strong>Green<\/strong> and<br \/>\n        <strong>Blue<\/strong> values.<\/p><\/div>\n<p>    <!-- =====================================\n         COLOUR DISPLAY\n         ===================================== --><\/p>\n<div id=\"colourDisplay\"><\/div>\n<p>    <!-- =====================================\n         CONTROLS\n         ===================================== --><\/p>\n<div class=\"controls\">\n<p>        <!-- RED --><\/p>\n<div class=\"slider-row\">\n<div class=\"slider-label\">\n                Red\n            <\/div>\n<p>            <input\n                type=\"range\"\n                id=\"redSlider\"\n                min=\"0\"\n                max=\"255\"\n                value=\"128\"\n            ><\/p>\n<div\n                class=\"slider-value\"\n                id=\"redValue\"\n            ><br \/>\n                128\n            <\/div>\n<\/p><\/div>\n<p>        <!-- GREEN --><\/p>\n<div class=\"slider-row\">\n<div class=\"slider-label\">\n                Green\n            <\/div>\n<p>            <input\n                type=\"range\"\n                id=\"greenSlider\"\n                min=\"0\"\n                max=\"255\"\n                value=\"128\"\n            ><\/p>\n<div\n                class=\"slider-value\"\n                id=\"greenValue\"\n            ><br \/>\n                128\n            <\/div>\n<\/p><\/div>\n<p>        <!-- BLUE --><\/p>\n<div class=\"slider-row\">\n<div class=\"slider-label\">\n                Blue\n            <\/div>\n<p>            <input\n                type=\"range\"\n                id=\"blueSlider\"\n                min=\"0\"\n                max=\"255\"\n                value=\"128\"\n            ><\/p>\n<div\n                class=\"slider-value\"\n                id=\"blueValue\"\n            ><br \/>\n                128\n            <\/div>\n<\/p><\/div>\n<p>        <!-- =================================\n             COLOUR INFORMATION\n             ================================= --><\/p>\n<div class=\"colour-information\">\n<div class=\"rgb-value\" id=\"rgbValue\">\n                RGB(128, 128, 128)\n            <\/div>\n<div class=\"hex-value\" id=\"hexValue\">\n                #808080\n            <\/div>\n<\/p><\/div>\n<p>        <!-- RESET --><\/p>\n<p>        <button onclick=\"resetColour()\"><br \/>\n            Reset<br \/>\n        <\/button><\/p><\/div>\n<p>    <script><\/p>\n<p>        \/\/ Get the sliders<\/p>\n<p>        const redSlider =\n            document.getElementById(\"redSlider\");<\/p>\n<p>        const greenSlider =\n            document.getElementById(\"greenSlider\");<\/p>\n<p>        const blueSlider =\n            document.getElementById(\"blueSlider\");<\/p>\n<p>        \/\/ Get the displayed values<\/p>\n<p>        const redValue =\n            document.getElementById(\"redValue\");<\/p>\n<p>        const greenValue =\n            document.getElementById(\"greenValue\");<\/p>\n<p>        const blueValue =\n            document.getElementById(\"blueValue\");<\/p>\n<p>        \/\/ Get the colour display<\/p>\n<p>        const colourDisplay =\n            document.getElementById(\"colourDisplay\");<\/p>\n<p>        \/\/ Get RGB and HEX displays<\/p>\n<p>        const rgbValue =\n            document.getElementById(\"rgbValue\");<\/p>\n<p>        const hexValue =\n            document.getElementById(\"hexValue\");<\/p>\n<p>        \/*\n            Convert a number from decimal\n            to a two-digit hexadecimal value.\n        *\/<\/p>\n<p>        function toHex(value) {<\/p>\n<p>            return Number(value)\n                .toString(16)\n                .padStart(2, \"0\")\n                .toUpperCase();<\/p>\n<p>        }<\/p>\n<p>        \/*\n            Update the colour\n        *\/<\/p>\n<p>        function updateColour() {<\/p>\n<p>            \/\/ Get slider values<\/p>\n<p>            const red =\n                redSlider.value;<\/p>\n<p>            const green =\n                greenSlider.value;<\/p>\n<p>            const blue =\n                blueSlider.value;<\/p>\n<p>            \/\/ Update numbers beside sliders<\/p>\n<p>            redValue.textContent = red;<\/p>\n<p>            greenValue.textContent = green;<\/p>\n<p>            blueValue.textContent = blue;<\/p>\n<p>            \/*\n                Create RGB colour\n            *\/<\/p>\n<p>            const rgb =\n                `rgb(${red}, ${green}, ${blue})`;<\/p>\n<p>            \/*\n                Change the large\n                colour display.\n            *\/<\/p>\n<p>            colourDisplay.style.backgroundColor =\n                rgb;<\/p>\n<p>            \/*\n                Display RGB value\n            *\/<\/p>\n<p>            rgbValue.textContent =\n                `RGB(${red}, ${green}, ${blue})`;<\/p>\n<p>            \/*\n                Create HEX value\n            *\/<\/p>\n<p>            const hex =\n                \"#\" +\n                toHex(red) +\n                toHex(green) +\n                toHex(blue);<\/p>\n<p>            \/*\n                Display HEX value\n            *\/<\/p>\n<p>            hexValue.textContent = hex;<\/p>\n<p>        }<\/p>\n<p>        \/*\n            Update colour whenever\n            a slider is moved.\n        *\/<\/p>\n<p>        redSlider.addEventListener(\n            \"input\",\n            updateColour\n        );<\/p>\n<p>        greenSlider.addEventListener(\n            \"input\",\n            updateColour\n        );<\/p>\n<p>        blueSlider.addEventListener(\n            \"input\",\n            updateColour\n        );<\/p>\n<p>        \/*\n            Reset all sliders\n        *\/<\/p>\n<p>        function resetColour() {<\/p>\n<p>            redSlider.value = 128;<\/p>\n<p>            greenSlider.value = 128;<\/p>\n<p>            blueSlider.value = 128;<\/p>\n<p>            updateColour();<\/p>\n<p>        }<\/p>\n<p>        \/*\n            Set the initial colour\n        *\/<\/p>\n<p>        updateColour();<\/p>\n<p>    <\/script><\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>RGB Colour Mixer RGB Colour Mixer Move the sliders to mix the Red, Green and Blue values. Red 128 Green 128 Blue 128 RGB(128, 128, 128) #808080 Reset<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-635","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/pages\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":2,"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/pages\/635\/revisions"}],"predecessor-version":[{"id":638,"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/pages\/635\/revisions\/638"}],"wp:attachment":[{"href":"https:\/\/mrcottle.co.uk\/WP\/wp-json\/wp\/v2\/media?parent=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}