L'hack che stai usando in effetti è usato spesso, in varie salse. Forse con qualche accorgimento si può risolvere ma così su due piedi non mi vengono particolari idee; ti chiedo quindi se puoi postare il link della pagina in questione, così magari posso fare qualche prova diretta per verificare se la cosa può essere risolta col solo CSS. L'alternativa forse è l'uso di JavaScript.