Html 如何创建具有';你不加保证金吗?

Html 如何创建具有';你不加保证金吗?,html,css,twitter-bootstrap,border,margin,Html,Css,Twitter Bootstrap,Border,Margin,我是HTML/CSS新手,正在学习Bootstrap 我正在编写一个引导导航条,我有一个小困难,下面是我所做工作的一部分 在HTML代码中,有用于构建TWBS导航栏的普通标记,我添加了更改活动选项卡颜色的代码: .navbar-nav a.active { -webkit-transition: .2s; -o-transition: .2s; transition: .2s; border-top: 2px solid #212121; } 问题:包装在标记中

我是HTML/CSS新手,正在学习Bootstrap

我正在编写一个引导导航条,我有一个小困难,下面是我所做工作的一部分

在HTML代码中,有用于构建TWBS导航栏的普通标记,我添加了更改活动选项卡颜色的代码:

.navbar-nav a.active {
    -webkit-transition: .2s;
    -o-transition: .2s;
    transition: .2s;
    border-top: 2px solid #212121;
}
问题:包装在
标记中的文本现在稍微向下推,我注意到
边框顶部
CSS属性的功能更像是
边距顶部
属性


如何避免这种情况并创建不添加边距的边框?

您可以在活动
a
伪元素之前设置
:样式,并将其相对于父元素定位:

.navbar-nav a.active:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
}
演示:您可以添加

html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
这样,边框将成为元素宽度的一部分


有用链接

您可以使用插入框阴影:

box-shadow: inset 0px 3px 0px 0px #212121;

这样做的好处是不改变元素大小或不需要伪元素,但遗憾的是@everyone,thaks不支持Upvots,这真的鼓励了我在钱上滴吧!!!!BUUUUT,我正在运行IE 8:D。。。更不用说网络开发者喜欢的操作系统了。。。XP:D。。。另外,我已经在使用psudo元素进行转换。顺便说一句,方框边框不应该使边框不起边距的作用吗?
:在IE8支持之前,它应该可以工作。至于
边框框
。。理论上是的,但实际上,由于某种原因,我无法在这种情况下使用边框框。@dfsq,我相信边框框不起作用,因为没有设置高度。另一种方法是从头开始设置边界,并透明或通过rgba()。好的,我从您对上一个答案的评论中看到您正在使用它:)确保链接是显示块或内联块:)为什么是内联块或内联块呢!但是IE8不会理解的。呸!我没有看到IE8的要求。在这种情况下,我将投票给@dfsq的答案。谢谢!实际上,我认为如果不需要IE8,您的方法会更好。