A cloud is defined as a mass of little drops of water, also known as droplets, and water crystals (ice) in the atmosphere. There are always thousands of water droplets hanging in the atmosphere but when their amount crosses a certain threshold mark; they become visible as white-colored clouds. They scatter light and help keep the earth remain cool. They acquire the color of their background i.e. the background affects the color of the clouds.
The sun light comes onto the surface of the planet passing through the clouds hanging in between. When white light falls on the water droplets in the clouds it breaks up into its constituent colors – red, orange, yellow, green, blue, indigo and violet. But, there are a lot of water drops in the clouds so in the next stage that broken up light falls on more water drops and get combined again! The final result of this is when light comes out of a cloud, it is all combined i.e. it is white light. At higher altitudes, there are also very small ice crystals present in the clouds and they do the same job as water droplets do.
So why do some of them look grey or black?
A simple answer is: both the quality and the quantity matter! Let’s see it this way: Black or grey clouds are the thickest among clouds so when light falls on them, in addition to repeated reflections, they also soak up the light and thus appear dark in color.
Moreover, even this is a relative phenomenon. If one looked at the same clouds from an airplane or by some other means from higher altitudes, he would find them white! Because there, he/she would be in the clouds and thus the thickness of clouds that are above him would be lesser.
What other colors are clouds?
During the sunset one can find clouds with a red or an orange ting. The reason is: during sunset/sunrise the sunlight has to travel a longer distance through the atmosphere and the dust particle scattered in the atmosphere scatter red light i.e. the background becomes red thus the clouds appear red. And if there is a lot of red or orange light falling on a cloud with a lot of water droplets, the cloud would appear green to us.