The most fashionable male celebrities of the moment are David Beckham, Idris Elba – and Harry Styles, according to research.