我有一个<div>元素,我想给它加一个边框.我知道我可以写style="border: 1px solid black",但这会给div的两边增加2px,这不是我想要的.

我更希望这个边框是从div边缘开始的-1px.div本身是100pxx100px,如果我添加一个边框,那么我必须做一些数学运算才能使边框出现.

有没有办法让边框显示出来,并确保盒子仍然是100px(包括边框)?

推荐答案

box-sizing属性设置为border-box:

div {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    width: 100px;
    height: 100px;
    border: 20px solid #f00;
    background: #00f;
    margin: 10px;
}

div + div {
    border: 10px solid red;
}
<div>Hello!</div>
<div>Hello!</div>

IE8 & above码有效.

Html相关问答推荐

HTML::Element endtag为br和IMG生成结束标签>

如何防止下拉菜单内的Bootstrap列表行包装?

使用Scrapy Select 最后一个子文本

CSS动画积分计数器

我已经在我的网站上创建了按钮,但我不能让它们正确排列.'

Select 包含iframe的图形<><>

如何在Vim中删除Html标签?

在NzMessageService中传递动态TemplateRef- Angular 15

将2个Flex列合并为1个交替子列

有没有办法根据另一个项目调整FlexBox项目的大小?

使具有FLEX父项的溢出自动的子元素收缩

如何在css中旋转块时调整内容宽度、高度

Flex:第一个 div 有列,下一个 div 有行

如何使用多边形制作如图所示的背景

如何创建淡出研磨背景

如何避免链接在悬停 timeshift 动,同时增加导航栏中的字体大小?

提交前的验证表单未显示任何验证消息?

按部分划分的表行带

使用 CSS flexbox 和溢出顶部而不是底部

打开 Bootstrap 模式时无法获得模糊的背景