【前端设计】炫酷导航栏

欢迎来到前端设计专栏,本专栏收藏了一些好看且实用的前端作品,使用简单的html、css语法打造创意有趣的作品,为网站加入更多高级创意的元素。

html

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="nav.css">
</head>
<body>
    <div class="wrapper">
        <nav>
            <input type="radio" name="tab" id="home" checked>
            <input type="radio" name="tab" id="thumbs">
            <input type="radio" name="tab" id="share">
            <input type="radio" name="tab" id="collection">
            <input type="radio" name="tab" id="comments">
            <label for="home" class="home">
                <a href="#">首页</a>
            </label>
            <label for="thumbs" class="thumbs">
                <a href="#">点赞</a>
            </label>
            <label for="share" class="share">
                <a href="#">分享</a>
            </label>
            <label for="collection" class="collection">
                <a href="#">收藏</a>
            </label>
            <label for="comments" class="comments">
                <a href="#">评论</a>
            </label>
            <div class="active"></div>
        </nav>
    </div>
</body>
</html>

css

css 复制代码
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
body {
  display: flex;
  height: 100vh;
  justify-content: center;
  align-items: center;
  line-height: 60px;
}
.wrapper {
  height: 60px;
  width: 55vw;
  background-color: #eff;
  box-shadow: 0 6px 16px ;
  box-shadow: 0 6px 16px #0000003f;
  border-radius: 30px;
}

.wrapper nav {
    display: flex;
    position: relative;
}
.wrapper nav label{
    flex: 1;
    cursor: pointer;
    position: relative;
    z-index: 1;
}
.wrapper nav label a{
    color: #1d1f60;
    font-size: 21px;
    font-weight: 500;
    text-decoration: none;
    position: relative;
    z-index: -1;
}
.wrapper nav label a i{
    font-size: 21px;
    margin: 0 6px 0 29px;
}
.wrapper nav .active{
    position: absolute;
    background: linear-gradient(45deg,#06ace0 0%,#8600e6 100%);
    height: 100%;
    width: 20%;
    left: 0;
    bottom: 0;
    border-radius: 30px;
    transition: 0.6s cubic-bezier(0.6, -0.6, 0.26, 1.6);
}
.wrapper nav #home:checked ~ label.home a,
.wrapper nav #thumbs:checked ~ label.thumbs a,
.wrapper nav #share:checked ~ label.share a,
.wrapper nav #collection:checked ~ label.collection a,
.wrapper nav #comments:checked ~ label.comments a{
    color: #fff;
}
.wrapper nav #thumbs:checked ~ .active{
    left: 20%;
}
.wrapper nav #share:checked ~ .active{
    left: 40%; 
}
.wrapper nav #collection:checked ~ .active{
    left: 60%;
}
.wrapper nav #comments:checked ~ .active{
    left: 80%;
}

.wrapper nav input{
    display: none;
}
相关推荐
s9123601017 分钟前
rust REGEX和lazy_static 和struct 混用
java·前端·javascript
vvilkim26 分钟前
React 与 Vue 虚拟 DOM 实现原理深度对比:从理论到实践
前端·vue.js·react.js
天天扭码30 分钟前
在项目中常见的main.js和main.mjs有什么区别,我们该如何选择?
前端·javascript·面试
姑苏洛言39 分钟前
在开发扫码小程序中,遇到胡坑“require() 默认不支持绝对路径”及其解决方案
前端
Passerby_K39 分钟前
vue3+dhtmlx 甘特图真是案例
前端·vue·甘特图
佳腾_1 小时前
【Web应用服务器_Tomcat】二、Tomcat 核心配置与集群搭建
java·前端·中间件·tomcat·web应用服务器
brzhang1 小时前
代码即图表:dbdiagram.io让数据库建模变得简单高效
前端·后端·架构
SummerGao.1 小时前
【解决】layui layer的提示框,弹出框一闪而过的问题
前端·layui
天天扭码2 小时前
从数组到对象:JavaScript 遍历语法全解析(ES5 到 ES6 + 超详细指南)
前端·javascript·面试
拉不动的猪2 小时前
前端开发中常见的数据结构优化问题
前端·javascript·面试