Já que você disse em um comentário que quanto mais opções você tiver, melhor, aqui está outra.
No CSS3, existem dois chamados "modelos de caixa" diferentes. Um adiciona a borda e o preenchimento à largura de um elemento de bloco, enquanto o outro não. Você pode usar o último especificando
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
Então, nos navegadores modernos, o elemento sempre terá a mesma largura. Ou seja, se você aplicar uma borda a ele ao pairar, a largura da borda não será adicionada à largura geral do elemento; a borda será adicionada "dentro" do elemento, por assim dizer. No entanto, se bem me lembro, você deve especificar width
explicitamente para que isso funcione. O que provavelmente não é uma opção para você neste caso em particular, mas você pode manter isso em mente para situações futuras.