源代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>编程字典</title> <style> body { margin: 0; } ul { list-style-type: none; margin: 0; padding: 0; width: 25%; background-color: #f1f1f1; position: fixed; height: 100%; overflow: auto; } li a { display: block; color: #000; padding: 8px 16px; text-decoration: none; } li a.active { background-color: #4CAF50; color: white; } li a:hover:not(.active) { background-color: #555; color: white; } </style> </head> <body> <ul> <li><a class="active" href="#home">Home</a></li> <li><a href="#news">News</a></li> <li><a href="#contact">Contact</a></li> <li><a href="#about">About</a></li> </ul> <div style="margin-left:25%;padding:1px 16px;height:1000px;"> <h2>固定全高边栏导航</h2> <h3>尝试滚动这个区域, 看看边栏如果固定不动的</h3> <p>注意这个div元素有一个 25%的左边距. 这是因为侧面导航设置为25%宽度。如果您删除的边缘,这sidenav将覆盖/在这个div的上面.</p> <p>也要注意我们设置网络 overflow:auto 给 sidenav. 当sidenav是太长时,将添加一个滚动条(例如,如果它有超过50个链接在里面).</p> <p>Some text..</p> <p>Some text..</p> <p>Some text..</p> <p>Some text..</p> <p>Some text..</p> <p>Some text..</p> <p>Some text..</p> </div> </body> </html>
运行结果