The colours on any website are set by hex codes eg #f2f2f. However, a web designer can do no more than set the hex code. How the colour actually appears on any computer screen will depend on factors like the computer’s settings, the browser used (and version of the browser), the brower’s settings, the type of screen, the screen resolution, the brightness of the screen, the angle of the screen and even the ambient light conditions. So basically the colours may appear slightly differently on different screens and there is nothing that a web designer can do about this.
Same applies to the size of fonts, length of lines and paragraphs and the alignment of blocks or lines, and blocks of content on a web page. The position of all these is determined by the computer code (HTML) that underpins a web page but how they appear on a screen is determined by the user’s computer settings and and how the viewer’s browser interprets the code. Think of a browser as a language translation service – each translator (browser) will give a slightly different interpretation. A print page is static – it will always look exactly the same. A web page is dynamic – its layout is ultimately determined by the user’s computer and how the user’s browser interprets the HTML code. So unless you have a corporate sized budget of many hundreds of thousands, you are never going to get perfection across all computers/mobile devices/screens (and even if you did, perfection is still impossible because you can never control things like the viewer’s screen angle and ambient light conditions).