Ваша самая безопасная ставка - использовать два элемента, но если вы находитесь в прогрессивном улучшении, вы можете попробовать этот метод. Он будет работать в Safari, Chrome FF 3.6+ (также с вероятностью 3.5), Opera (не менее 10.10+) и IE8 + (в режиме IE8). Он использует псевдокласс :after
, чтобы творить чудеса. Примечание: он не работает в FF 3.0 и оставляет дополнительную границу, но в IE6 & 7 он просто возвращается к одной границе. Вы можете проверить его демонстрацию в действии .
HTML
<div id="double">
<h2>Double Border</h2>
<p>This div <a href="#">should</a> have two borders.</p>
<p>There are only normal elements inside.</p>
</div>
CSS
#double {
border: dotted 1px #a4a4a4;
padding: 10px;
position: relative;
}
#double > * {
position: relative;
z-index: 100;
}
/* Add an "extra" element using CSS */
#double:after {
content: "";
position: absolute;
z-index: 50;
border: dotted 1px #474747;
left: 0;
top: 0;
bottom: 0;
right: 0;
display: block;
}