前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一种纯css实现tab切换效果的方案

一种纯css实现tab切换效果的方案

作者头像
零云
发布2023-07-24 21:30:18
3040
发布2023-07-24 21:30:18
举报

简介很多场景下不希望用JS污染环境,或者无法直接使用JS,比如markdown中,可以使用css来直接实现tab切换,css实现tab切换有很多伤方法,这里提出一种网上不多见的方案。

代码语言:javascript
复制
<style>

.tabs-tab-button {

background: #eee;

padding: 8px 15px;

border:1px solid #ccc;

margin-left: -1px;

position: relative;

left: 1px;

font-size: 14px;

line-height: 14px;

cursor: pointer;

border-radius: 2px;

}

.tabs-tabs-header:has(.tabs-tab-button:focus) .tabs-tab-button:not(:focus) {

background: #eee !important;

}

.tabs-tab-button:focus,

.tabs-tab-button.active {

outline: none;

background: white;

border-bottom: 1px solid white;

/* z-index: 2; */

}

.tabs-tab-content{

position: absolute;

top:38px;

left: 0px;

background: white;

right: 0;

bottom: 0;

padding: 0px 20px 20px;

border: 1px solid #ccc;

}

.tabs-tabs-wrapper:has(.tabs-tab-button.active[data-tab="0"]) .tabs-tab-content[data-index="0"],

.tabs-tabs-wrapper:has(but.tabs-tab-buttonton:focus[data-tab="0"]) .tabs-tab-content[data-index="0"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="1"]) .tabs-tab-content[data-index="1"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="2"]) .tabs-tab-content[data-index="2"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="3"]) .tabs-tab-content[data-index="3"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="4"]) .tabs-tab-content[data-index="4"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="5"]) .tabs-tab-content[data-index="5"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="6"]) .tabs-tab-content[data-index="6"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="7"]) .tabs-tab-content[data-index="7"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="8"]) .tabs-tab-content[data-index="8"],

.tabs-tabs-wrapper:has(.tabs-tab-button:focus[data-tab="9"]) .tabs-tab-content[data-index="9"] {

z-index: 2;

}

</style>

<div class="tabs-tabs-wrapper">

<div class="tabs-tabs-header">

<button type="button" class="tabs-tab-button active" data-tab="0">php</button>

<button type="button" class="tabs-tab-button" data-tab="1">java</button>

<button type="button" class="tabs-tab-button" data-tab="2">js</button>

<button type="button" class="tabs-tab-button" data-tab="3">python</button>

<button type="button" class="tabs-tab-button" data-tab="4">c#</button>

</div>

<div class="tabs-tabs-container">

<div class="tabs-tab-content" data-index="0"><pre><code class="lang-">addTopButton("add", "添加", [

"api" =&gt; "/v1/admin/core/config/add" php

])

</code></pre>

</div><div class="tabs-tab-content" data-index="1"><pre><code class="lang-">addTopButton("add", "添加", new HashMap(){{

put("api", "/v1/admin/core/config/add"); java

}})

</code></pre>

</div><div class="tabs-tab-content" data-index="2"><pre><code class="lang-">addTopButton("add", '"添加", [

"api" =&gt; "/v1/admin/core/config/add" js

])

</code></pre>

</div><div class="tabs-tab-content" data-index="3"><pre><code class="lang-">addTopButton("add", "添加", [

'api' =&gt; '/v1/admin/core/config/add' py

])

</code></pre>

</div><div class="tabs-tab-content" data-index="4"><pre><code class="lang-">addTopButton("add", "添加", [

'api' =&gt; '/v1/admin/core/config/add' c#

])

</code></pre>

</div>

</div>

</div>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档