Here's why:
* Short vowel sounds are typically quick and sharp. The vowel sound in "nap" is short and sharp.
* Long vowel sounds are typically drawn out and can be represented with a silent "e" at the end of a word or a double vowel.
Since "napkin" doesn't have a silent "e" or a double vowel, the "a" in "nap" has a short vowel sound.