CSS 中单页导航栏按钮的滚动行为



我正在尝试使用纯HTML/CSS创建单页简历。我正在实现一个导航栏,这样当单击链接到div 的按钮(在同一页面上)时,它会自动向下滚动到该部分(具有滚动效果)。如何做到这一点?谢谢。

嘿,我模拟了一些非常简单的东西供您尝试。您可以通过使用链接到每个元素 id 的<a>标签来实现您要查找的内容。要使滚动流畅,只需使用一些 CSSscroll-behaviour:smooth

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Nav-bar</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<div class="nav-bar">
<ul class="nav-link">
<a href="#intro">Intro</a>
</ul>
<ul class="nav-link">
<a href="#work-experience">Work Experience</a>
</ul>
<ul class="nav-link">
<a href="#education">education</a>
</ul>
<ul class="nav-link">
<a href="#intrests">intrests</a>
</ul>
<ul class="nav-link">
<a href="#refrences">refrences</a>
</ul>
</div>
<div class="container">
<div id="intro" class="section">INTRO</div>
<div id="work-experience" class="section">WORK EXPERIENCE</div>
<div id="education" class="section">EDUCATION</div>
<div id="intrests" class="section">INTERESTS</div>
<div id="refrences" class="section">REFRENCES</div>
</div>
</body>
</html>

使用一些像 CSS

html {
scroll-behavior: smooth;
}
.nav-bar {
display: flex;
list-style: none;
width: 100%;
background: black;
color: white;
}
.nav-link > a {
text-decoration: none;
color: white;
font-size: 1.5rem;
}
.section {
height: 50vh;
text-align: center;
font-size: 3rem;
}

例如,只需制作 href 或如何以正常方式打开指向div id 的链接; 如果你的代码是顶部的链接(<a></a>),只需在 (<a href="#divid"></a>) 中放入一个 id。在 css 中设置scroll-behaviorscroll-behavior: smooth;以便在正文或链接上平滑滚动。

最新更新