CSS 垂直导航条
垂直导航条
如需构建垂直导航条,除了上一章中的代码外,还可以在列表中设置 <a> 元素的样式:
<!DOCTYPE html><html><head><style>ul {list-style-type: none;margin: 0;padding: 0;}li a {display: block;width: 60px;background-color: #dddddd;}</style></head><body><ul><li><a href="#home">首页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系方式</a></li><li><a href="#about">关于我们</a></li></ul><p>背景色被添加到链接以显示链接区域。</p><p>请注意,整个链接区域都是可单击的,而不仅仅是文本。</p></body></html>
例子解释:
display: block; - 将链接显示为块元素可以使整个链接区域都可以被单击(而不仅仅是文本),我们还可以指定宽度(如果需要,还可以指定内边距、外边距、高度等)。
width: 60px; - 默认情况下,块元素会占用全部可用宽度。我们需要指定 60 像素的宽度。
您还可以设置 <ul> 的宽度,并删除 <a> 的宽度,因为当显示为块元素时,它们将占据可用的全部宽度。这将导致与我们之前的例子相同的结果:
<!DOCTYPE html><html><head><style>ul {list-style-type: none;margin: 0;padding: 0;width: 60px;}li a {display: block;background-color: #dddddd;}</style></head><body><ul><li><a href="#home">首页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系方式</a></li><li><a href="#about">关于我们</a></li></ul><p>背景色被添加到链接以显示链接区域。</p><p>请注意,整个链接区域都是可单击的,而不仅仅是文本。</p></body></html>
垂直导航条实例
创建背景色为灰色的基础垂直导航条,并在用户将鼠标移到链接上时改变链接的背景色:
代码如下:
<!DOCTYPE html><html><head><style>ul {list-style-type: none;margin: 0;padding: 0;width: 200px;background-color: #f1f1f1;}li a {display: block;color: #000;padding: 8px 16px;text-decoration: none;}li a:hover {background-color: #555;color: white;}</style></head><body><h1>垂直导航条</h1><ul><li><a href="#home">首页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系方式</a></li><li><a href="#about">关于我们</a></li></ul></body></html>
活动/当前导航链接
向当前链接添加 "active" 类,以使用户知道他/她在哪个页面上:
代码如下:
<!DOCTYPE html><html><head><style>ul {list-style-type: none;margin: 0;padding: 0;width: 200px;background-color: #f1f1f1;}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><h1>垂直导航条</h1><p>在此例中,我们创建一个具有绿色背景色和白色文本的 "active" 类。该类将添加到 "Home" 链接。</p><ul><li><a class="active" href="#home">首页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系我们</a></li><li><a href="#about">关于我们</a></li></ul></body></html>
居中链接以及添加边框
把 text-align:center 添加到 <li> 或 <a>,使链接居中。
将 border 属性添加到 <ul>,在导航条周围添加边框。如果您还希望在导航条内添加边框,请为所有 <li> 元素添加 border-bottom,最后一个元素除外:
实例
<!DOCTYPE html><html><head><style>ul {list-style-type: none;margin: 0;padding: 0;width: 200px;background-color: #f1f1f1;border: 1px solid #555;}li a {display: block;color: #000;padding: 8px 16px;text-decoration: none;}li {text-align: center;border-bottom: 1px solid #555;}li:last-child {border-bottom: none;}li a.active {background-color: #4CAF50;color: white;}li a:hover:not(.active) {background-color: #555;color: white;}</style></head><body><h1>垂直导航条</h1><p>在本例中,我们居中导航链接并为导航条添加边框:</p><ul><li><a class="active" href="#home">首页</a></li><li><a href="#news">新闻</a></li><li><a href="#contact">联系方式</a></li><li><a href="#about">关于我们</a></li></ul></body></html>
全高固定垂直导航条
创建全高的“粘性”侧面导航:
代码如下:
<!DOCTYPE html><html><head><style>html, body {font-family: Verdana,sans-serif;font-size: 15px;line-height: 1.5}body {margin: 0;}ul.vertical {list-style-type: none;margin: 0;padding: 0;width: 25%;background-color: #f1f1f1;position: fixed;height: 100%;overflow: auto;min-width: 80px;}ul.vertical li a {display: block;color: #000;padding: 8px 16px;text-decoration: none;}ul.vertical li a:hover:not(.active) {background-color: #555;color: white;}ul.vertical a.active {background-color: #04AA6D;color: white;}.main {margin-left: 25%;padding: 1px 16px;height: 500px;}@media screen and (max-width: 290px) {.main {margin-left: 35%;}}</style></head><body><ul class="vertical"><li><a class="active" href="javascript:void(0)">首页</a></li><li><a href="javascript:void(0)">新闻</a></li><li><a href="javascript:void(0)">联系方式</a></li><li><a href="javascript:void(0)">关于我们</a></li></ul><div class="main"><h2>固定高度的侧边导航条</h2><h3>试着滚动这个区域,看看侧边导航条是如何粘在页面上的</h3><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p><p>一些文本..</p></div></body></html>
注意:本例在移动设备上可能无法正常工作。