如何在不占用html中的任何额外空间的情况下将边框渲染为div?

Bal*_*an웃 26 css

我想为div绘制一个边框,而不占用任何额外的空间?,这意味着边框必须在div内.

Ruf*_*fus 44

你有3个选择:

  1. 内盒和外盒(如@xpapad所述).
  2. 使用outline,例如,outline:1px #000 solid;.阅读更多.
  3. 使用box-sizing,这是一个css3属性.例如,box-sizing:border-box;.阅读更多.

  • 轮廓加一,使用边框如边框:纯黑色;它仍然占据着空间。 (2认同)

meo*_*meo 15

你可以用负边距补偿它,或者只是使用轮廓.

div { border: 10px solid red; margin: -10px};
Run Code Online (Sandbox Code Playgroud)

要么

div { outline: 10px solid red; }
Run Code Online (Sandbox Code Playgroud)

或者你可以用css3 boxshadow伪造边框......

示例:http: //jsfiddle.net/meo/K23s7/


小智 6

尝试使用相当于边界的负边距,例如.

border-right:1px;
margin-right:-1px;
Run Code Online (Sandbox Code Playgroud)