I’m going to suggest something different from the other two answers currently posted.
If you take this colleague on one side to have a private discussion about this, you are relying entirely on your ability to persuade him that he is incorrect and that he should change his mind.
If you raise the subject, (the subject being the acceptability of garments, not the Rude Colleague's opinion of the acceptability of garments) openly amongst the group you can play more on how willing he is to be seen to be holding an unpopular opinion. Raising the general topic of acceptable shirts in the group allows it to be a wider ‘negotiation’ of the group norm rather than you 'standing up' for or against an individual person. Until this point the culture of the group seems to have been that he leads and they either follow or keep schtum. If you want to change the group culture, you will need to find a way to challenge that existing norm.
That doesn’t mean you have to do it in a way that is likely to ostracise you if people don’t fall in with your view, and it almost certainly means you won’t be able to do it in a ‘one and dusted’ sort of way, changing culture, be it of one person or a group, can take time.
Like many an awkward workplace situation, addressing it lightly can be the key. Rather than having a big confrontation or showdown where you announce that you think he is out of line (you are specifically aiming to ‘bring him along’ rather than ‘take him down’), see if you can come up with a light-hearted seeming intervention which is open for others to jump into the conversation if they want. What that might be depends on you, your character, what your existing ‘banter’ with colleagues etc. is like, but if it was my office it might go something like this:
Rude Colleague: Hey, what did we say about pink shirts?
Before the pink shirt wearer replies, I might jump in with a ‘Did we
say they looked super cool and we all wished we looked so good in
them?’ with a bright smile. I'd probably be addressing this at the group in general rather than RC in particular.
If RC (Rude Colleague) replies with something about pink shirts being
effeminate or whatever his problem is with them, I might gently turn that back
with a cheery statement negating it, ‘oh come on, who believes things
like that anymore? Would you say that to [insert name of whoever would
be the archetype of the opposite of whatever characteristic he
alleges] if he was here wearing it? The shirt looks cool.’
and then try to smoothly move the conversation on to a different topic, in a ‘but anyway, who saw Strictly Come Dancing at the weekend?’ Sort of way.
The aim of this would be to, by way of gentle redirection of the conversation and perhaps a very low key chiding, show RC that he is out of step and that this isn't how people talk about other people's clothes any more, if they ever did.
You can expect to have to go through a similar routine whenever he starts complaining about people's clothes until one of you gives in.
If your other colleagues back you up, then RC receives a clear and united message that he is out of step. If no-one backs you up, don’t despair it might be that people will speak to you afterwards and that next time you try to derail RC from an insult they will be more supportive.
It’s possible that you won’t get any support at all from colleagues, in which case your only recourse will be to take it up with management if you feel strongly enough about it and his behaviour is clearly in breach of some standard or guideline for behaviour in the workplace.
If you do speak to management about it and they are in fact perfectly relaxed about how people dress, perhaps see if they would be on board with something positive like having a 'Wear a Wacky Shirt day' to raise funds for a local charity and to show RC just how restrained the group's everyday shirts really are!