Puoi usare sfumature di sfondo per quell'effetto. Per il tuo esempio, aggiungi le seguenti righe (è così tanto codice perché devi usare i prefissi del fornitore):
background-image:
-moz-linear-gradient(top, #000 10px, transparent 10px),
-moz-linear-gradient(bottom, #000 10px, transparent 10px),
-moz-linear-gradient(left, #000 10px, transparent 10px),
-moz-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-o-linear-gradient(top, #000 10px, transparent 10px),
-o-linear-gradient(bottom, #000 10px, transparent 10px),
-o-linear-gradient(left, #000 10px, transparent 10px),
-o-linear-gradient(right, #000 10px, transparent 10px);
background-image:
-webkit-linear-gradient(top, #000 10px, transparent 10px),
-webkit-linear-gradient(bottom, #000 10px, transparent 10px),
-webkit-linear-gradient(left, #000 10px, transparent 10px),
-webkit-linear-gradient(right, #000 10px, transparent 10px);
background-image:
linear-gradient(top, #000 10px, transparent 10px),
linear-gradient(bottom, #000 10px, transparent 10px),
linear-gradient(left, #000 10px, transparent 10px),
linear-gradient(right, #000 10px, transparent 10px);
Non c'è bisogno di markup non necessario.
Se vuoi solo avere un doppio bordo puoi usare contorno e bordo invece di bordo e riempimento.
Mentre potresti anche usare pseudo-elementi per ottenere l'effetto desiderato, ti sconsiglio. Gli pseudo-elementi sono uno strumento molto potente fornito dai CSS, se li "sprechi" in cose come questa, probabilmente ti mancheranno da qualche altra parte.
Uso gli pseudo-elementi solo se non c'è altro modo. Non perché siano cattivi, al contrario, perché non voglio sprecare il mio Joker.