I am a UK national and my wife and son are Chinese nationals. We plan to go to Italy via Croatia. Croatia have confirmed that they will issue visas to my wife and son at the point of entry as long as we can prove our family relationship. Will Italy do the same? My wife already has a single entry Schengen visa for Spain for business purposes but we will not be going there.
If your wife is recognized as the spouse of an EU citizen (you) and you are resident in an EU country, she and your children can enter anywhere in the EU without a visa. If you are not resident, she will need a Schengen visa, but this visa should be free.
In either case, this must be sorted out in advance, and the details vary from country to country. See: Non-EU spouse of an EU citizen - is visiting EU without needing a visa possible?
There is something missing from the other answers. Your wife may indeed require a visa but it should be possible to get a visa on arrival in Italy, provided you make it to the Italian border (which might be difficult, see below).
Italy is bound by the same rules than Croatia, namely Directive 2004/38/EC on the right of citizens of the Union and their family members to move and reside freely within the territory of the Member States. Specifically, article 5 provides that
Where a Union citizen, or a family member who is not a national of a Member State, does not have the necessary travel documents or, if required, the necessary visas, the Member State concerned shall, before turning them back, give such persons every reasonable opportunity to obtain the necessary documents or have them brought to them within a reasonable period of time or to corroborate or prove by other means that they are covered by the right of free movement and residence.
This rule is also mentioned on the official guide from the EU Commission (“Arriving at the border without an entry visa”). Obviously, to benefit from this, you would also need to have documentation to prove that your wife is indeed your wife. If your son only has Chinese citizenship, he would also need a visa and be covered by the same rules (OTOH, if he is a British citizen, other citizenship(s) are irrelevant).
The problem is that getting a visa-on-arrival is not the regular procedure. Because of that, you might have a hard time convincing the airline to let you board the plane (I assume you would be flying to Italy) and could face significant delays at the border. Getting a visa in advance is therefore strongly recommended (it should be issued quickly and free of charge).
Whether you apply for a visa in advance or try to reach the border, your wife's Spanish visa could however be an issue as Schengen countries usually do not issue Schengen visas with overlapping validity. At the same time, if your wife needs to go to Spain, she will obviously want to avoid using this visa for this trip (especially considering the fact that she had to pay for it…). But the good thing is that this visa should be enough to satisfy the airline, at least regarding your wife's situation.
Clearing up all these issues with the Italian authorities would therefore seem strongly recommended.
Italy will not issue a visa on arrival for your wife and son.
Italy belongs to Schengen Area, Croatia didn't join it yet. If your wife visa is still valid (because it is single entry means that she didn't enter before inside Schengen using that visa) she can enter in Italy.
Your son must have a passport and a valid Schengen visa as well.