2013-11-25 36 views
1

我想添加一个padding-topdiv当我点击链接的锚:如何添加padding-top到ancre链接?

<a href="#myAnchor">Go to my anchor</a> 

... 

<div id="myAnchor"> ... </div> 

的问题是,我想刚才添加的填充时我的链接重定向我的锚。我不想在html中添加padding-top,我只是不希望我的div位于我的页面顶部,我需要填充或页边距。

谢谢。

+0

添加JavaScript的? – putvande

+1

你的意思是锚? – j08691

+0

你想点击链接,并将填充应用到'div' *,或*到'a' *,元素? –

回答

1

我只知道一种方法:javascript。如果您已经使用jQuery:

$('a[href="#myAncre"]').click(function(){ 
    $("#myAncre").css("padding-top", "20px"); 
    }); 

但如果你不使用jQuery的已经,它可能是值得用简单的JavaScript来做到这一点。

+0

如果我这样做的意思,如果我向上滚动,会有20px的空白。我不想要这个。 – FlavienBert

+0

对不起,我的魔力使我失望了,并没有让我看到你不想要那样。你能通过编辑你原来的问题来解释你真正想要的行为吗? –

1

我认为你要做的是在点击链接时将浏览器窗口滚动到目标上方的几个像素,而不是让目标与浏览器窗口顶部齐平。

您可以查看这篇文章的几种解决方案http://css-tricks.com/hash-tag-links-padding/

最简单的解决方案,通常似乎是在你的CSS添加:

#myanchor{ 
    margin-top: -200px; 
    padding-top: 200px; 
} 

与任何价值,你认为合适的更换200像素。 您也不妨使用一个类应用这个,因为我asume你不会只是想使用它的一个项目:)