It's not like there are many gypsies in ex-Yugoslavia.
In Croatia we don't have more than 10 000 gypsies, which makes them only 0.2 % of the population. In Slovenia there are even less of them. There is a bigger number in southern Serbia and Macedonia, but even there they don't make more than 3-4 % of the population. Over all, there are ~250 000 gypsies in ex-Yu and they make around 1% of the population. Not a big number.
But the problem is that in the 70's and especially in mid and late 80's there was a lot of people smuggling (especially kids) from Yugoslavia to Italy, and 99% of them were gypsies who were living there in camps and were involved in organized crime on the streets of Milano, Trieste, Rome etc. That was a huge problem at the time ( i think it still is a problem but now the gypsies come from Bulgaria and Romania, because they can enter Italy easily after Bulgaria and Romania became EU members).
And since they all had Yugo passports, the word Zingaro became a tradition for the Italians when they were trying to insult ex-yu people.
Zlatan, having ex-Yu parents, is of course just another Zingaro
I know our fans said they call him zingaro because he went to Inter, not because he's from ex-Yugoslavia, but in this case i really doubt it. They call him zingaro mostly because he's from ex-Yu.
And i agree with those who think it was a racist banner. They could have called him camel face, or fucking traitor or small penis or Capello's whore or anything else, but they call him dirty Gypsy. First of all, they are insulting gypsies and are being racist with this and second they are insulting all ex-yu people with this banner.
I doubt some of you would have laughed if our fans called Zidane a dirty Arab, or dirty camel fucker or if they called Thuram a dirty monkey. Saying dirty zingaro is just as bad as dirty Arab or dirty monkey. It's racism