当给 div 添加 1 像素的边框时,div 的大小会增加,不希望这样做。

7 浏览
0 Comments

当给 div 添加 1 像素的边框时,div 的大小会增加,不希望这样做。

点击时,我给div添加了1像素的边框,所以div的大小会增加2像素×2像素。

我不想让div的大小增加。有没有简单的方法可以做到这一点?

混乱的详细解释

实际上,我正在将带有float:left(相同大小,如图标)的DIV添加到一个容器div中,这样所有的DIV就会一个接一个地堆叠起来,当(容器div的宽度为300px)没有剩余空间时,子DIV进入下一行,就像一个目录一样,但是因为边框只有选定的DIV大小增加了,所以选定的DIV下面的DIV向右移动,并在选定的DIV下方创建了空白空间。

编辑:

在选择时减小高度/宽度,但如何恢复。使用了一些第三方框架,所以没有事件可以在DIV失去选择时触发。

0
0 Comments

问题出现的原因是当给div添加1像素的边框时,div的大小会增加。这是因为在没有设置宽度的情况下,box-sizing: border-box属性会被忽略。

解决方法是在CSS中使用box-sizing: border-box属性来设置div的盒模型。这样可以使边框的大小不会改变div的宽度。以下是设置box-sizing属性的示例代码:

div {
    box-sizing: border-box;
}

此外,还可以使用textarea元素的box-sizing属性来设置div的盒模型。以下是设置textarea的box-sizing属性的示例代码:

textarea {
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}

这种方法可以在不改变div宽度的情况下设置边框。值得注意的是,box-sizing: border-box属性应该设置在所有元素上,作为现代最佳实践。

然而,有时候这种方法并不起作用,具体原因尚不清楚。可以参考链接codepen.io/anon/pen/QZaBQG中的示例代码来了解更多细节。

总之,box-sizing: border-box属性并不总是可靠的,但在大多数情况下可以解决给div添加边框时大小增加的问题。

0
0 Comments

问题的原因是当给div添加1像素的边框时,div的大小会增加。解决方法是使用border-color: transparent的技巧,将边框颜色设置为透明。这种方法的优点是不需要硬编码元素的宽度,具有良好的跨浏览器支持(只有IE6不支持),与outline不同,仍然可以单独指定上下边框,与将边框颜色设置为背景颜色不同,如果更改背景,无需更新代码,并且与非纯色背景兼容。这种方法适用于动态大小的元素,完全阻止了鼠标悬停时的大小变化。这种方法比硬编码减小宽度和高度更好。这种方法被认为是简单、有效和合乎逻辑的最佳解决方案,特别适用于需要在焦点、选择、悬停时添加边框的情况,对于不使用border-radius的边框来说,outline不是一个选项。

0
0 Comments

当为div添加1像素边框时,div的大小会增加。这可能是由于CSS的盒模型特性导致的。盒模型包括内容区域、内边距、边框和外边距。当为div添加边框时,边框的宽度会累加到div的大小上,导致div的实际大小比预期要大。

解决这个问题的方法是使用outline属性代替border属性。outline属性在不影响元素大小的情况下绘制一个轮廓线。如果不使用border-radius属性,可以将border属性改为outline属性来解决问题。代码如下:

outline: 1px solid black;

然而,如果div使用了border-radius属性,上述方法就无法解决问题。在这种情况下,可以考虑使用outline的特殊属性,如outline-left、outline-right、outline-top和outline-bottom来替代border的四个方向属性。然而,这些属性目前并不存在,因此无法直接使用。

在之前的回答中某些情况下了这个问题,但是并没有给出解决方案。另一个回答则表示即使在使用border-radius属性的情况下,上述方法仍然有效。

当为div添加1像素边框时,div大小增加的问题可能是由于CSS的盒模型特性导致的。解决这个问题的方法是使用outline属性替代border属性,但是需要注意在使用border-radius属性的情况下,outline属性可能无法完全解决问题。

0