css梯形tab

devtools/2025/3/16 22:42:24/

效果:

代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Tab 示例</title><style>/* 定义 CSS 变量 */:root {--tab-width: 200px;--tab-height: 50px;--tab-radius: 10px;--tab-bg: #EFF6FF;--tab-active-bg: gold;--tab-corner-size: 10px;}/* 基础样式 */.box {padding: 50px 300px;text-align: center;display: flex;}/* Tab 通用样式 */.tab {width: var(--tab-width);height: var(--tab-height);background-color: var(--tab-bg);position: relative;border-radius: var(--tab-radius) var(--tab-radius) 0 0;transform-origin: center bottom;transform: perspective(10px) rotateX(10deg);cursor: pointer; /* 添加鼠标指针样式 */}/* Tab 伪元素样式 */.tab::before,.tab::after {content: "";position: absolute;bottom: 0;width: var(--tab-corner-size);height: var(--tab-corner-size);background: var(--tab-bg);}.tab::before {left: calc(-1 * var(--tab-corner-size));background: radial-gradient(circle at 0 0, transparent var(--tab-corner-size), var(--tab-bg) var(--tab-corner-size));}.tab::after {right: calc(-1 * var(--tab-corner-size));background: radial-gradient(circle at var(--tab-corner-size) 0, transparent var(--tab-corner-size), var(--tab-bg) var(--tab-corner-size));}/* 第二个 Tab 的特殊样式 */.tab2 {top: -26px;margin-left: -50px;transform: perspective(10px) rotateX(170deg);}/* 激活状态的 Tab 样式 */.active {background-color: var(--tab-active-bg);}.active::before {background: radial-gradient(circle at 0 0, transparent var(--tab-corner-size), var(--tab-active-bg) var(--tab-corner-size));}.active::after {background: radial-gradient(circle at var(--tab-corner-size) 0, transparent var(--tab-corner-size), var(--tab-active-bg) var(--tab-corner-size));}</style>
</head>
<body><div class="box"><div class="tab tab1 active"></div><div class="tab tab2"></div></div><script>const tabs = document.querySelectorAll(".tab");tabs.forEach((tab) => {tab.addEventListener("click", () => {tabs.forEach((t) => t.classList.remove("active"));tab.classList.add("active");});});</script>
</body>
</html>


http://www.ppmy.cn/devtools/167663.html

相关文章

【go】函数类型的作用

Go 语言函数类型的巧妙应用 函数类型在 Go 语言中非常强大&#xff0c;允许将函数作为值进行传递和操作。下面详细介绍函数类型的各种妙用&#xff1a; 1. 回调函数 // 定义一个函数类型 type Callback func(int) int// 接受回调函数的函数 func processData(data []int, ca…

算力服务器主要是指什么?

随着科技的快速发展&#xff0c;人工智能也逐渐兴起&#xff0c;算力服务器也受到了各个企业的重视&#xff0c;本文就来为大家介绍一下算力服务器主要都是指什么吧&#xff01; 算力服务器对于人工智能领域来说&#xff0c;在深度学习模型的训练和推理过程中扮演着非常重要的角…

ngx_conf_read_token

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_conf_read_token-CSDN博客 static ngx_int_t ngx_conf_read_token(ngx_conf_t *cf) {u_char *start, ch, *src, *dst;off_t file_size;size_t len;ssize_t n, size;ngx_uint_t found, need_space, last_space…

时序约束整理

输入输出约束 FPGA整体概念 (1) Tdin为从FPGA的IO口到FPGA内部寄存器输入端的延时; (2) Tclk为从FPGA的IO口到FPGA内部寄存器时钟端的延时; (3) Tus/Th为FPGA内部寄存器的建立时间和保持时间; (4) Tco为FPGA内部寄存器传输时间; (5) Tout为从FPGA寄存器输出…

Python 实现的采集诸葛灵签

Python 实现的采集诸葛灵签 项目介绍 这是一个基于 Python 开发的诸葛灵签数据采集和展示项目。通过爬虫技术获取诸葛神签的签文和解签内容&#xff0c;并提供数据存储和查询功能。 项目结构 zhuge/├── zhuge_scraper.py # 爬虫主程序├── zhuge_pages/ # 数据存储目录…

Linux练级宝典->多线程

目录 Linux线程概念 什么是线程 二级页表 线程的优点 线程的缺点 线程异常 线程用途 Linux进程和线程 线程共享资源 线程和进程的关系图 Linux线程控制 POSIX线程库 线程创建 线程等待 线程终止 线程分离 Linux线程概念 什么是线程 在一个程序里的一个执行流叫做…

什么是 slot-scope?怎么理解。

1. 什么是 slot-scope&#xff1f; slot-scope 是 Vue 2 中用于作用域插槽的语法。它的作用是让子组件可以把一些数据传递给父组件&#xff0c;父组件可以根据这些数据自定义渲染内容。 简单来说&#xff1a; 子组件&#xff1a;负责提供数据。 父组件&#xff1a;负责根据数…

专访数势科技谭李:智能分析 Agent 打通数据平权的最后一公里

作者|斗斗 编辑|皮爷 出品|产业家 伦敦塔桥下的泰晤士河底&#xff0c;埋藏着工业革命的隐秘图腾——布鲁内尔设计的隧道盾构机。在19世纪城市地下轨道建设的过程中&#xff0c;这个直径11米的钢铁巨兽没有选择拓宽河道&#xff0c;而是开创了地下通行的新维度。 “我们不…