この質問はbox-shadow
とoutline
プロパティを使用したソリューションですでに十分に回答されていますが、ここに上陸して(私のように)オフセットのある内側の境界のソリューションを探しているすべての人のために、これについて少し拡張したいと思います
たとえば、100px x 100pxの黒div
があり、5pxの内部オフセット(たとえば)がある白い境界線でそれをはめ込む必要があるとしましょう。これは、上記のプロパティでも実行できます。
ここでの秘訣は、複数のボックスシャドウが許可されていることを知ることです。最初のシャドウが上にあり、後続のシャドウはZオーダーが低くなっています。
その知識があれば、ボックスシャドウ宣言は次のようになります。
box-shadow: inset 0 0 0 5px black, inset 0 0 0 10px white;
div {
width: 100px;
height: 100px;
background: black;
box-shadow: inset 0 0 0 5px black, inset 0 0 0 10px white;
}
<div></div>
基本的に、その宣言が言っていることは、最後の(10px白)影を最初にレンダリングし、次にその上の前の5px黒影をレンダリングします。
上記と同じ効果の場合、アウトライン宣言は次のようになります。
outline: 5px solid white;
outline-offset: -10px;
div {
width: 100px;
height: 100px;
background: black;
outline: 5px solid white;
outline-offset: -10px;
}
<div></div>
注意: それが重要な場合、outline-offset
IEはサポートしていません。