技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营
卡卡网是专业的网站测速平台,网速测试,测试网站速度,就来卡卡网 ~
问题反馈网络日志

【DiyVM】沙田机房/香港云/回国CN2线路/AMD EPYC/39元一月5M/CN2海外云主机 24元/月BGP+CN2海外云 低至25元/月海外主机 低至$2/月

DiyVM:香港VPS惊爆价36元一月
★站长/主播变现★有流量就来
5M CN2 GIA云主机 24元起
一一一云主机 26元起一一一
官方高价收量,每日稳定结算

一一云主机 24元 3折起一一
海外CN2云 低至$2.5/月
海外云低至2折 298/年
免费测试★APK免杀 谷歌过保护
官方收量CPA/CPS长期稳定

海外主机 5M CN2 低至$2/月
恒创科技 一 海外服务器 ● 高速稳定
★解决安装报毒★谷歌过保护机制
超级签★免杀★加固★满意付款
全球云主机 3天试用再买

【菠萝云】香港4G内存99元,马上开通
亿人互联-津/京BGP托管租用/VPS
苹果签名/APP封装/远控免杀
10M CN2海外云VPS 53元/月
CN2 GIA/1000Mbps $111/月

实力产品变现
实力产品变现
实力产品变现
实力产品变现
实力产品变现

赞助商

分类目录

赞助商

最新文章

字体单位是相对测量单位,是根据其他一些值计算的,可以动态变化。与字体相关的测量单...
stroke-width设置形状的描边粗细,如果在 HTML 中,框架是从外边缘...
本文给大家介绍10款用SVG蒙版制作的图片转场/过渡动画,并分析如何实现它们。
CSS 数据类型<filter-function>代表可以改变输入图...
CSS box-shadow 属性用于在元素的框架上添加阴影效果。你可以在同一个...
drop-shadow() 是一个CSS 过滤器函数,其将投影效果应用于输入图像...
本文给大家介绍一个SVG实现的网页气泡动画效果。 

搜索

CSS3实现的可缩进的侧栏导航菜单

作者:admin    时间:2021-7-28 10:19:15    浏览:1088

本文介绍一个可缩进的侧栏导航菜单,使用纯CSS3实现。

CSS3实现的可缩进的侧栏导航菜单

CSS3实现的可缩进的侧栏导航菜单

demodownload

侧栏导航的HTML代码

下面是侧栏导航的HTML代码,主要是使用UL-LI结构。注意到还用了一个SVG代码,这个其实导航上面最顶部那个logo图标的SVG实现代码,如果我们不用那个logo图标,可以不要这个段SVG代码。

  1. <nav id="navbar">
  2.   <ul class="navbar-items flexbox-col">
  3.     <li class="navbar-logo flexbox-left">
  4.       <a class="navbar-item-inner flexbox">
  5.         <svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 1438.88 1819.54">
  6.           <polygon points="925.79 318.48 830.56 0 183.51 1384.12 510.41 1178.46 925.79 318.48"/>
  7.           <polygon points="1438.88 1663.28 1126.35 948.08 111.98 1586.26 0 1819.54 1020.91 1250.57 1123.78 1471.02 783.64 1663.28 1438.88 1663.28"/>
  8.         </svg>
  9.       </a>
  10.     </li>
  11.     <li class="navbar-item flexbox-left">
  12.       <a class="navbar-item-inner flexbox-left">
  13.         <div class="navbar-item-inner-icon-wrapper flexbox">
  14.           <ion-icon name="search-outline"></ion-icon>
  15.         </div>
  16.         <span class="link-text">搜索</span>
  17.       </a>
  18.     </li>
  19.     <li class="navbar-item flexbox-left">
  20.       <a class="navbar-item-inner flexbox-left">
  21.         <div class="navbar-item-inner-icon-wrapper flexbox">
  22.           <ion-icon name="home-outline"></ion-icon>
  23.         </div>
  24.         <span class="link-text">主页</span>
  25.       </a>
  26.     </li>
  27.     <li class="navbar-item flexbox-left">
  28.       <a class="navbar-item-inner flexbox-left">
  29.         <div class="navbar-item-inner-icon-wrapper flexbox">
  30.           <ion-icon name="folder-open-outline"></ion-icon>
  31.         </div>
  32.         <span class="link-text">工程</span>
  33.       </a>
  34.     </li>
  35.     <li class="navbar-item flexbox-left">
  36.       <a class="navbar-item-inner flexbox-left">
  37.         <div class="navbar-item-inner-icon-wrapper flexbox">
  38.           <ion-icon name="pie-chart-outline"></ion-icon>
  39.         </div>
  40.         <span class="link-text">面版</span>
  41.       </a>
  42.     </li>
  43.     <li class="navbar-item flexbox-left">
  44.       <a class="navbar-item-inner flexbox-left">
  45.         <div class="navbar-item-inner-icon-wrapper flexbox">
  46.           <ion-icon name="people-outline"></ion-icon>
  47.         </div>
  48.         <span class="link-text">团队</span>
  49.       </a>
  50.     </li>
  51.     <li class="navbar-item flexbox-left">
  52.       <a class="navbar-item-inner flexbox-left">
  53.         <div class="navbar-item-inner-icon-wrapper flexbox">
  54.           <ion-icon name="chatbubbles-outline"></ion-icon>
  55.         </div>
  56.         <span class="link-text">支持</span>
  57.       </a>
  58.     </li>
  59.     <li class="navbar-item flexbox-left">
  60.       <a class="navbar-item-inner flexbox-left">
  61.         <div class="navbar-item-inner-icon-wrapper flexbox">
  62.           <ion-icon name="settings-outline"></ion-icon>
  63.         </div>
  64.         <span class="link-text">设置</span>
  65.       </a>
  66.     </li>
  67.   </ul>
  68. </nav>

icon图标引用文件库

我们还注意到,在HTML代码里,后面有两个js文件,这是导航菜单每个项目前面的icon图标库文件,如果没有这两个js文件,则导航每个项目前面就没有小图标,那样会不太好看。

  1. <script src='https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.esm.js'></script>
  2. <script src='https://unpkg.com/ionicons@5.5.2/dist/ionicons/ionicons.js'></script>

CSS代码

下面仅贴出导航的CSS代码。

  1. #navbar {
  2.     top: 0;
  3.     padding: 0;
  4.     width: 5em;
  5.     height: 100vh;
  6.     position: fixed;
  7.     background-color: hsl(var(--background-secondary));
  8.     transition: width .35s cubic-bezier(var(--transition-main), 1);
  9.     overflow-y: auto;
  10.     overflow-x: hidden;
  11. }
  12. #navbar:hover {
  13.     width: 16em;
  14. }
  15. #navbar::-webkit-scrollbar-track {
  16.     background-color: hsl(var(--background-secondary));
  17. }
  18. #navbar::-webkit-scrollbar {
  19.     width: 8px;
  20.     background-color: hsl(var(--background-secondary));
  21. }
  22. #navbar::-webkit-scrollbar-thumb {
  23.     background-color: hsl(var(--primary));
  24. }
  25. .navbar-items {
  26.     margin: 0;
  27.     padding: 0;
  28.     list-style-type: none;
  29. }
  30. /* Navbar Logo */
  31. .navbar-logo {
  32.     margin: 0 0 2em 0;
  33.     width: 100%;
  34.     height: 5em;
  35.     background: hsl(var(--background-secondary-dark));
  36. }
  37. .navbar-logo > .navbar-item-inner {
  38.     width: calc(5rem - 8px);
  39. }
  40. .navbar-logo > .navbar-item-inner:hover {
  41.     background-color: transparent;
  42. }
  43. .navbar-logo > .navbar-item-inner > svg {
  44.     height: 2em;
  45.     fill: hsl(var(--white));
  46. }
  47. /* Navbar Items */
  48. .navbar-item {
  49.     padding: 0 .5em;
  50.     width: 100%;
  51.     cursor: pointer;
  52. }
  53. .navbar-item-inner {
  54.     padding: 1em 0;
  55.     width: 100%;
  56.     position: relative;
  57.     color: hsl(var(--quite-gray));
  58.     border-radius: .25em;
  59.     text-decoration: none;
  60.     transition: all .2s cubic-bezier(var(--transition-main), 1);
  61. }
  62. .navbar-item-inner:hover {
  63.     color: hsl(var(--white));
  64.     background: hsl(var(--background-secondary-light));
  65.     box-shadow: 0 17px 30px -10px hsla(var(--black), .25);
  66. }
  67. .navbar-item-inner-icon-wrapper {
  68.     width: calc(5rem - 1em - 8px);
  69.     position: relative;
  70. }
  71. .navbar-item-inner-icon-wrapper ion-icon {
  72.     position: absolute;
  73.     font-size: calc(var(--navbar-buttons) - 1rem);
  74. }
  75. .link-text {
  76.     margin: 0;
  77.     width: 0;
  78.     text-overflow: ellipsis;
  79.     white-space: nowrap;
  80.     transition: all .35s cubic-bezier(var(--transition-main), 1);
  81.     overflow: hidden;
  82.     opacity: 0;
  83. }
  84. #navbar:hover .link-text {
  85.     width: calc(100% - calc(5rem - 8px));
  86.     opacity: 1;
  87. }

这个导航加入了不少的鼠标悬停效果。

还有,这是一个响应式的侧栏导航菜单,可缩进效果是它一大特色,而它是纯CSS3实现的。

您可能对以下文章也感兴趣

x
广告: 【限时】云主机 24元/月