2016-12-01 91 views
0

如果我有这样的代码:https://codepen.io/anon/pen/ObzgYo我该如何做到这一点,所以导航栏不会粘在顶部,而是顶部下方20px?坚持导航,但不在顶部

我试着这样做:

.main-nav-scrolled { 
    position: fixed; 
    width: 100%; 
    top: 20; <== 
} 

,但是这使得它粘在底部出于某种原因

+3

'top:20;'意思是很少,除非你添加一个测量声明。试试'top:20px;' - 如果没有声明,就不知道浏览器将用于测量的内容。它可以使用20英寸......或者ems ......或厘米......使其移动到底部。 – Scott

+0

谢谢,那就是问题所在,为什么当它设置为0时不需要'px',但是你需要它来处理其他数字? – georgej

+0

0是0 .. 0英寸是相同的0px是相同的0cm是相同的0mm ...所以使用只是0是不是一个问题。但对于任何其他测量,您需要指定单位。 – Scott

回答

1

我发现保证金-x或填充-X更可靠。

.main-nav-scrolled { 
    margin-top: 20px; 
} 

只需要注意,在你的例子中,margin会为你提供空白,而padding会扩展你的背景颜色。

2

您正在编辑的代码是用于标题和主导航栏滚动的类。仅向主导航栏滚动的类添加顶级值,并且按预期工作。

header, 
.main-nav-scrolled { 
    position: fixed; 
    width: 100%; 
    top: 0; 
} 
.main-nav-scrolled { 
    top: 20px; 
}