For firefox, the results are the same. For chrome and IE11, the separators still occupy 1 or 2px even if spacing="0px".
<zk>
<label value='1. hbox spacing="0"'/>
<hbox spacing="0" width="500px" height="55px" style="background:yellow">
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
</hbox>
<label value='2. hbox spacing="0px"'/>
<hbox spacing="0px" width="500px" height="55px" style="background:yellow">
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
<vbox width="100px" height="50px" style="background:blue" />
</hbox>
<label value='3. vbox spacing="0"'/>
<vbox spacing="0" width="105px" height="250px" style="background:yellow">
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
</vbox>
<label value='4. vbox spacing="0px"'/>
<vbox spacing="0px" width="105px" height="250px" style="background:yellow">
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
<hbox width="100px" height="50px" style="background:blue" />
</vbox>
</zk>