Water can only remove water-soluble substances. Soap can help remove some fat-soluble substances also. But the ultraviolet part of sunlight can break down substances that can’t be removed by either. Color, especially in plants and animals, is often a property of complex molecules. When they break, they lose their color. Bleach works the same way.
Fun fact: rust stains are unaffected by sunlight, and insoluble in water or fat. We use acids on those, because they convert the rust into other compounds that are water soluble.
Latest Answers