En fait c'est un problème d'ordre de déclaration plus que de mettre sur une ligne.
Dans ton exemple tu définis d'abord le border-style dashed, mais ensuite celui-ci va être redéfini dans ta déclaration css border. Vu qu'il n'est pas spécifié, il va obtenir la valeur par défaut, soit none.
En fait, si tu avais écrit l'inverse:
.tblcontenu {
border: 1px #000000;
border-style: dashed;
}
ça t'aurait donné le bon résultat (maintenant on est d'accord que c'est nettement mieux sur une ligne... ;-) )