- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
页内链接相对于页面顶部的位置?-6ren"> 页内链接相对于页面顶部的位置?-我用 header 来固定它 .site-header { position: fixed; background-color:#ffffff; width:1020px; -6ren">
我用 header 来固定它
.site-header {
position: fixed;
background-color:#ffffff;
width:1020px;
top:-20px;
z-index:1;
}
我有包含两个 div 的 body 部分
这是在左边
<div id="sidebar" style="float:left" class="affix-top">
<div id="nav-anchor"></div>
<nav class="indexnav">
<ul id="indexlist">
<li id="one"><a href="#AdolescentGynecology">Adolescent gynecology</a></li>
<li><a href="#BreastEvaluation">Breast evaluation</a></li>
<li><a href="#BirthControl">Birth control/emergency contraception</a></li>
</ul>
</nav></div>
这是在右边
<div id="indexcontent">
<section id="AdolescentGynecology" tabindex="-1">
<span class="indexcontent-title">Adolescent gynecology</span><p></p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce placerat est egestas, pretium tellus id, egestas mauris. Vestibulum porttitor, massa tristique sodales rutrum, ex elit pulvinar urna, at suscipit quam arcu a turpis. Suspendisse ut hendrerit ligula. Mauris at diam accumsan, mollis risus a, venenatis magna. Phasellus sem arcu, lobortis id sapien quis, fringilla faucibus nulla. Ut fermentum gravida sem non malesuada. Suspendisse potenti. Fusce ullamcorper elit at ornare lacinia. Curabitur sed feugiat magna. Nulla quis libero dignissim, maximus leo consectetur, laoreet massa. Maecenas et malesuada lacus. Morbi at condimentum ipsum. Morbi suscipit leo eros, vel hendrerit felis molestie nec. In nec maximus est.</p>
</section>
<section id="BreastEvaluation" tabindex="-1">
<span class="indexcontent-title">Breast evaluation</span><p></p>
<p>Vivamus vitae quam ut nulla gravida sollicitudin. Integer congue mauris lectus, cursus ornare nulla scelerisque in. Suspendisse consectetur egestas pellentesque. Maecenas vulputate elit quis nunc iaculis, in malesuada nulla condimentum. Maecenas auctor quam libero, a condimentum purus eleifend ac. Donec vestibulum lectus quis risus condimentum suscipit. In hac habitasse platea dictumst. Etiam libero leo, molestie vel purus non, semper sagittis mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi orci, aliquam sed velit non, vulputate scelerisque metus. Sed vel libero quis nibh placerat bibendum.</p>
</section>
<section id="BirthControl">
<span class="indexcontent-title">Birth control/emergency contraception</span><p></p>
<p>Vivamus vitae quam ut nulla gravida sollicitudin. Integer congue mauris lectus, cursus ornare nulla scelerisque in. Suspendisse consectetur egestas pellentesque. Maecenas vulputate elit quis nunc iaculis, in malesuada nulla condimentum. Maecenas auctor quam libero, a condimentum purus eleifend ac. Donec vestibulum lectus quis risus condimentum suscipit. In hac habitasse platea dictumst. Etiam libero leo, molestie vel purus non, semper sagittis mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec mi orci, aliquam sed velit non, vulputate scelerisque metus. Sed vel libero quis nibh placerat bibendum.</p>
</section>
现在,当我点击 div id="sidebar"中的一个
最佳答案
我认为问题在于您的固定位置 header 与 div.content2 的顶部重叠。我注意到 .content1 的 css 中有错别字,我假设您指的是 float:left
而不是 float;left
。
要将每个部分定位在页眉下方,而不是页眉遮挡部分的页面顶部,您可以将页面的 scrollTop 设置为该部分相对于 div.content2 减去的垂直偏移量标题的高度。这可以通过点击处理程序轻松处理。
//set the page scrollTop so the selected element appears just
//below the bottom of the fixed header
function scrollTo(contentEl) {
//assume the href of the anchor is '#id'
var el = $(contentEl.attr("href"));
//don't do anything if the ID isn't found
if (el.length > 0) {
//height of the header may change if the window is resized
//so recheck it with each scrollTo call
var HeaderHeight = $(".header")[0].clientHeight;
//set the top margin on content2 so the first element
//displays properly on page load
$(".content2").css({"margin-top":HeaderHeight+"px"});
var pos = el.position();
var newtop = pos.top - HeaderHeight;
//scrolling above the top is probably silly
if (newtop < 0) newtop = 0;
console.log($(".content2").position().top+ ". "+el.attr("id")+ ": "+$("html").scrollTop()+" - "+pos.top+" - "+newtop);
$("html").scrollTop(newtop)
//return false to cancel the href if we scrolled
return(false);
}
}
$(document).ready(function(){
$(".content1").affix();
//use scrollTo to handle click events on nav anchors
$(".content1 ul").on("click","a",function(){return scrollTo($(this))})
//set top margin of .content2 so first element appears below the header
$(".content2").css({"margin-top":$(".header")[0].clientHeight+"px"})
});
更新jsfiddle
关于jquery - 点击后如何自定义<a href ="#link">页内链接相对于页面顶部的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528340/
我通常从以下位置获取代码:https://www.w3schools.com .这个代码还有一个 Accordion ; 但是,当我使用链接 -> 到 Accordion 时, Accordion 不
我见过的所有 JNI 指南(例如 JNI runtime linking )都建议我将 JNI 库链接到 libjvm.so: $ gcc -I${JAVA_HOME}/include -c -o t
实现以下目标的正确 URL 格式是什么: 使用 Universal Link 在 iOS 上的另一个应用程序中打开 Google map 应用程序。 根据两个坐标设置目的地:纬度和经度,并让用户选择交
我已经查看了 Microsoft 的 MSDN 和整个网络,但我仍然无法很好地了解它是什么。 这是否意味着已完成的程序在执行期间的不同时间加载 DLL,而不是在启动时一次性加载所有 DLL? 我完全偏
我有一个看起来像这样的 css: .browse-link A:link { color: #F6CA4C; text-decoration: none; } .browse-link
当我点击“产品”链接时,它突然指向#link。我怎样才能使它的外观看起来像滚动然后转到产品?请帮帮我。 vStudy function big(x){
我想在保存之前更改从输入字段中获取的值。 params[:link]['url'] = "www.facebook.com/redbull" 现在我只想将“redbull”放入数据库。以下代码失败,因
我正在使用链表编写程序(真是一场噩梦)。 无论如何,该程序的目的是输入 8 个字符,然后让程序将字符打印回给您,并以相反的顺序打印回字符,当然是使用链表。 到目前为止我已经明白了。它有很多错误(我认为
基本上,我删除了 anchor 按钮,因此链接窗口中不应该有指向 anchor 选项的链接。 有什么方法可以删除该下拉选项 ? 最佳答案 想通了 if ( dialogName == 'link' )
我的本地(和远程)SQL SERVER 2005 管理员都声称“允许链接服务器是一个安全问题”并禁止在此处使用它们。 (哈?) 无论如何,有没有办法在没有链接服务器的情况下做类似的事情? SELE
如果我有: linkedlist1= 1,2,3,4; 和 linkedlist2= 5,6,7; 如果我调用: linkedlist2.set(0,9999) 它会更改为 linkedlist2 =
首先,如果这个问题看起来很愚蠢,我很抱歉,但我仍在学习 React 和 html。所以问题是我的 react 代码中有一个按钮标签,它为我提供了一些关于进入我提供的特定链接的逻辑。我的 Button.
我将制作一个文本 block ,这样如果您单击一个单词,它就会被词汇替代品所替换。 例如“fearful-of-cats”是“ailurophobic”的词汇替代品,因为如果您在任何文本中将后者替换为
我有以下代码 Can you click me? 目标是我可以点击“你能点击我吗”框并转到 google 并在包含 div 的任何其他地方
这是一个案例: 默认情况下,如果我点击#2、#3、#4、#5,我将被重定向到#1。 如果我想在没有 #1 激活的情况下点击输入,我该如何修复 CSS? 提前
有没有什么快速的方法可以使 :visited 链接的颜色与链接本身的颜色相同? 例如: * {color:black} a:link {color:blue} a:visited {color:inh
我读到从 iOS 9 开始,引入了通用链接。请解释深层链接和通用链接之间的区别。我的目标是,一个链接将通过邮件发送给客户。让邮件说有一个项目 A 的报价和一个链接。单击链接时 如果安装了该应用程序,则
因此我们需要对 CSS anchor 伪类使用以下顺序 a:link { color: red } a:visited { color: blue } a:hover { color
我组件的当前路径是http://localhost:3000/dashboard/questionnaire/5bf79ff4c45a150015cef7a9在这个组件里面有 Financials 如
我 rsync 目录“Promotion”包含两台具有不同目录结构的机器之间的绝对符号链接(symbolic link)。因此绝对符号链接(symbolic link)在两台机器上都不起作用。为了使它
我是一名优秀的程序员,十分优秀!