# What is the reason behind the characteristic colours of elements?

I've been trying to find out about this for some time now and when I searched online, I couldn't get any proper reasons.

My question is: What is the reason for the characteristic colours of elements? For eg: Why does Sodium have a characteristic colour of silvery-white?

Is there any solid scientific reason behind this?

Sometimes, the energy gap between the electron energy level is very high and therefore the light in the visible spectrum cannot excite the electron. No wavelength will be absorbed and it will act as a transparent glass. If say, the gap corresponds to a energy gap of $E=h(4000A)$, then the blue light will be absorbed and the remaining light will be white-blue=yellow. This is the general way in which colors are produced. The energy gaps can be anything, the band gaps in metals, molecular orbital energy difference in covalent compounds, orbital energy difference in isolated elements, or simply the energy difference between the various vibrational modes in a gas/solid.