如何用css实现类似简书的纵向导航/竖排导航

本文详细阐述了如何构建一个全局、固定且简洁的垂直导航栏,以提升专注阅读网站的用户体验。通过HTML结构和CSS样式的巧妙设计,实现了一个与页面高度一致、易于操作的导航系统,确保了页面切换时的流畅性和一致性。

作为一个专注阅读的网站,它的导航也一定是全局的,固定的,也是简洁的。事实上几家阅读网站豆瓣阅读,多看,简书都是这样做的,刚好实现起来也不算复杂,以下是我想到的实现方法。

首先是html的结构:

 1 <body>
 2 <nav>
 3     <div>
 4     <a href="#"></a>
 5     <a href="#"></a>
 6     <a href="#"></a>
 7     <a href="#"></a>
 8     </div>
 9 </nav>
10 <body>

然后是css的样式:

 1 <style>
 2     body {
 3         margin: 0; /*一定的初始化是必要的*/
 4     }
 5     nav {
 6         position: fixed; /*因为是一个全页面的竖排导航,所以必须设置为固定定位*/
 7         /*同时因为固定定位是把标签从文档中直接拿出来,所以布局其他元素时要用margin留出外边距,
 8           必要时可以设置导航栏为固定宽度保证不会出现白边*/
 9         background-color: #2f2f2f; 
10         height: 100%; /*让导航栏与页面同高*/
11         top: 0; left: 0; /*设置了固定定位后这两个属性才起作用*/
12     }
13         nav a { /*设置每个a标记的display属性为block,这样方便控制每个a标记的样式*/
14             font-weight: bold;
15             font-size: 18px;
16             color: #ffffff;
17             display: block;
18             padding: 15px;
19             text-decoration: none;
20         }
21         nav div a:first-child { /*通过伪类来控制活动页面的a标记的样式,作为静态页面每个页面都要写不同的css控制样式,
22         所以使用不方便的话可以使用class来控制样式*/
23             box-shadow: -1px 0.5px 4px 1px #777 inset;
24             background-color: #e58c7c;
25         }
26         nav div a:hover {
27                 background-color: #e58c7c;
28         }
29         nav div a:active {
30             box-shadow: -1px 0.5px 4px 1px #777 inset;
31             background-color: #e58c7c;
32         }
33 </style>

实现后是这个效果:

转载于:https://www.cnblogs.com/bear-lab/p/how-to-write-a-vertical-nav.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值