Both examples are correct. The second is more economical. However, it could need to be like in the first example if only some of the text in the paragraph needed that style. 1em is meaningless here. It would be the same as no font size specified. Font sizes really should be done as percents. This is not so much a matter of correctness as a matter of what works in the most browsers. 1em is 100% (also the same as not specifying).
If you have this:
Code:
.gray { font-size:1em; color: gray}
You don't need this:
Code:
p.gray{ font-size:1em; color: gray}
It really depends upon what you want. p.gray applies only to paragraphs. .gray can apply to any element.
Bookmarks