In summary, the foreground and background colour (known as the attributes) could only be set at a resolution of an 8x8 block of pixels - so every pixel in each 8x8 block had to share the same colours.
This meant for example that as a yellow sprite entered the same 8x8 block as a green thing, then when the code set the colour attributes to yellow (for the sprite) the green thing turned yellow too.
The opening seconds of this video [1] show it pretty clearly.
[1] https://www.youtube.com/watch?v=1PI6GwKVAeY
Disclaimer (which I feel appropriate given the old school playground wars about which was the best platform): I had a CPC464 which I loved and still run emulated, but also often went round to mate's houses for Speccy gaming too.