• 简单丝的tab切换栏(html/CSS)


    在这里插入图片描述

    #html

    <!DOCTYPE html>
    <html lang="en" >
    <head>
      <meta charset="UTF-8">
      <title>CSS实现左右滑动选项卡效果</title>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
    <link rel="stylesheet" href="./style.css">
    
    </head>
    <body>
    <!-- partial:index.partial.html -->
    <div class="container">
    	<div class="tabs">
    		<input type="radio" id="radio-1" name="tabs" checked />
    		<label class="tab" for="radio-1">Upcoming<span class="notification">2</span></label>
    		<input type="radio" id="radio-2" name="tabs" />
    		<label class="tab" for="radio-2">Development</label>
    		<input type="radio" id="radio-3" name="tabs" />
    		<label class="tab" for="radio-3">Completed</label>
    		<span class="glider"></span>
    	</div>
    </div>
    <!-- partial -->
      
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    CSS样式

    :root {
      --primary-color: #185ee0;
      --secondary-color: #e6eef9;
    }
    
    *,
    *:after,
    *:before {
      box-sizing: border-box;
    }
    
    body {
      font-family: "Inter", sans-serif;
      background-color: rgba(230, 238, 249, 0.5);
    }
    
    .container {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .tabs {
      display: flex;
      position: relative;
      background-color: #fff;
      box-shadow: 0 0 1px 0 rgba(24, 94, 224, 0.15), 0 6px 12px 0 rgba(24, 94, 224, 0.15);
      padding: 0.75rem;
      border-radius: 99px;
    }
    .tabs * {
      z-index: 2;
    }
    
    input[type=radio] {
      display: none;
    }
    
    .tab {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 54px;
      width: 200px;
      font-size: 1.25rem;
      font-weight: 500;
      border-radius: 99px;
      cursor: pointer;
      transition: color 0.15s ease-in;
    }
    
    .notification {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 2rem;
      height: 2rem;
      margin-left: 0.75rem;
      border-radius: 50%;
      background-color: var(--secondary-color);
      transition: 0.15s ease-in;
    }
    
    input[type=radio]:checked + label {
      color: var(--primary-color);
    }
    input[type=radio]:checked + label > .notification {
      background-color: var(--primary-color);
      color: #fff;
    }
    
    input[id=radio-1]:checked ~ .glider {
      transform: translateX(0);
    }
    
    input[id=radio-2]:checked ~ .glider {
      transform: translateX(100%);
    }
    
    input[id=radio-3]:checked ~ .glider {
      transform: translateX(200%);
    }
    
    .glider {
      position: absolute;
      display: flex;
      height: 54px;
      width: 200px;
      background-color: var(--secondary-color);
      z-index: 1;
      border-radius: 99px;
      transition: 0.25s ease-out;
    }
    
    @media (max-width: 700px) {
      .tabs {
        transform: scale(0.6);
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
  • 相关阅读:
    期末前端web大作业:餐饮美食网站设计与实现——HTML+CSS+JavaScript美食餐饮网站 3页面
    美新科技过会:收入依赖美国、产能利用率低,林东亮等均为香港籍
    【JS】限制输入内容带特殊符号
    java python php远程在线教育网站系统vue+elementui
    JavaScript学习Day005(操作节点)
    Spring Rce 漏洞分析CVE-2022-22965
    TypeScript基础
    C++ - Java 调用 C++ 动态库 <.dylib / .so> By CLion
    vscode如何连接gitlab代码库
    Jmeter集成到jenkins
  • 原文地址:https://blog.csdn.net/weixin_43811753/article/details/133520470