Normally most clouds are white in color, except the rain clouds that are usually a darker shade of gray. The colour of any object depends on its ability to reflect selected wavelengths of light (Read : How do we see colors). Consequently, if the object does not reflect any colour, it appears black.To understand why rain clouds have dark color first lets understand how clouds forms.

The air around us is full of water in its gaseous form. This gaseous form of water is known as water vapor. When the air near the ground warms, it starts to rise, taking the water vapor along with it. The air starts to cool as it rises higher into the sky, causing the water vapor to condense onto atmospheric dust from volcanoes, car exhaust and other sources. The resulting water droplets and ice crystals join together, to form clouds.

The tiny water drops or ice crystals that make up clouds scatter or reflect all of the colors that make up sunlight which together add up to white.This makes the normal cloud white. This is unlike atmospheric particles that scatter more blue light than other colors hence making the sky color blue (Read : Why sky color is Blue). Now, when clouds are thin, they let a large portion of the light through and appear white. But as cloud gets thicker and denser as it gathers more water droplets and ice crystals lesser light make it through like any objects that transmit light, the thicker they are, the less light makes it through. As their thickness increases, the bottoms of clouds look darker but still scatter all colors. We perceive this as gray. If you look carefully, you will notice that the relatively flat bottoms of clouds are always a little grayer than their sides. The taller the clouds become, the grayer their bottoms look.

This effect becomes more pronounced the larger the water droplets get - such as right before they're large enough to fall from the sky as rain or snow - because they become more efficient at absorbing light, rather than scattering it.