RE Amy's point about music which a baby will "associate" with sleep...with my son too... as soon as I start to sing him his songs before a nap (the SAME songs each time)...he automatically just "knows" it's time for nap...he associates my singing at this point to napping, and he will settle down, put his head on my shoulder and start to relax. (I carry him when singing to him, as I stand right next to his crib), then I put him down while still awake, tuck him in, and walk out.
Yes, your son is young, only 3 months old. And sure, maybe it takes awhile for him to actually fall asleep, and then he doesn't sleep long. BUT...keep in mind, that he is probably fussying the whole time pre-nap because by then he is "over-tired" already and probably over stimulated.
Over-tired babies/children actually do NOT sleep better, AND they have a harder time falling asleep.
My suggestion would be: keep putting him down for a nap, at REGULAR consistent nap times, the same everyday...that way you will build a "routine" with him....and over time, he will get used to it... and as he gets older, it will have already built a nap-time "habit" for him. Anything you do now... is not just for now...it is for later, down the road, to build good habits. That is what I have done with both of my children...my girl is now 5 years old and she still takes a nap after-school. My son is now 21 months old and he still takes 2 naps a day. They don't tantrum or protest about it, because it is such a "routine" for them and a "habit" which I kept consistent.
Also, try putting him down before he is too tired. Don't wait for HIM to tell you... YOU decide when it is time for nap. Generally at this age, it's about 9:00 in the morning and again in the afternoon. 2 naps.
Naps are very important for their development and brain growth. It's not just for sleeps sake. Infants/babies/toddlers/children need this. Heck, even in some cultures, even the Adults have "siesta" times and the stores/shops even close at these times. Its the body's natural way to regenerate and heal and develop etc.
Have a pre-nap routine... calm things down, let him unwind,change diaper, make the room dark, read to him perhaps for just 5-10 minutes (that is long enough for a 3 month old), or sing him a song. Then put him down in the crib, say good night, pat him, then walk out & close the door. Let him be...see if he will self-soothe and fall asleep. That is what I have done with my son since he was a newborn. I did the SAME thing each time, and even now, and he is totally used to it, and takes great naps, falls asleep on his own, and can self soothe.
It will not go perfect the first time...but if you keep it up... with regularity, the baby will become used to it. It's all about consistency and regularity.
Typically, a baby has a pattern: 1) wake up 2) feed/nurse 3) play/awake time 4) tired & go nap/sleep
Typically there will be a window of about 2-3 hours of "awake" time before a baby gets tired again, and then it will be time for a nap. By the time a baby is fussy and rubbing their eyes and getting irritable, it is already that they are too tired. So, it helps that you put them down PRIOR to them getting over-tired.
Sure, some babies can fall asleep anywhere & anytime, and will fall asleep on their own anyplace. BUT not all babies are like this. Mine weren't...they could only fall asleep at home in their own crib/bed. And some babies will "force" themselves awake and resist falling asleep at all costs. So, you need to help them...they are just a baby. Some people say "let them sleep when they want, if they are tired they will fall asleep by themselves...." But, I don't go according to this. I believe regularity and consistency works best...we can't leave it up to a baby to take care of themselves. Lots of babies are actually sleep deprived because they don't/can't nap.
Anyway, just keep trying. It's not easy and it does take time. But you want to build good habits now, rather than later when it will be much harder.
*Also, at 3-months of age, this is a "growth spurt" time...a baby gets hungrier, more often and more in quantity AND needs to feed more. So if your son is hungry, feed him. They are growing physically and cognitively and sometimes this disrupts their sleep. Head's up. About every 3 months will be a growth spurt change... and these "phases" can and does tweak them and can briefly cause changes in their sleep/nap/eating habits.
Good luck, hope this helps,
~Susan