CSS实现导航条Tab切换的三种方法介绍

标题:CSS实现导航条Tab切换的三种方法介绍

导航条在网页设计中极为常见,Tab切换效果也是常用的交互方式,本文将介绍实现导航条Tab切换的三种方法。

一、利用CSS的:target伪类实现

在导航条和内容区块中,给每个Tab添加一个锚点,如下所示:

<ul>
  <li><a href="#tab1">Tab 1</a></li>
  <li><a href="#tab2">Tab 2</a></li>
  <li><a href="#tab3">Tab 3</a></li>
</ul>

<div id="tab1">
  <p>Tab 1 Content</p>
</div>
<div id="tab2">
  <p>Tab 2 Content</p>
</div>
<div id="tab3">
  <p>Tab 3 Content</p>
</div>

然后,利用CSS的:target伪类来实现Tab切换效果,如下所示:

div {
  display: none;
}

div:target {
  display: block;
}

这段CSS代码的作用是:首先将所有的内容区块隐藏,然后当锚点被点击时,对应的内容区块显示出来。

二、利用CSS的checkbox实现

在导航条中使用checkbox,当checkbox被选中时,对应的内容区块显示出来,代码如下所示:

<ul>
  <li>
    <label for="tab1">Tab 1</label>
    <input type="checkbox" id="tab1">
    <div>Tab 1 Content</div>
  </li>
  <li>
    <label for="tab2">Tab 2</label>
    <input type="checkbox" id="tab2">
    <div>Tab 2 Content</div>
  </li>
  <li>
    <label for="tab3">Tab 3</label>
    <input type="checkbox" id="tab3">
    <div>Tab 3 Content</div>
  </li>
</ul>

对应的CSS代码如下所示:

input[type="checkbox"] {
  display: none;
}

input[type="checkbox"]:checked + div {
  display: block;
}

这段CSS代码的作用是:首先将所有的内容区块隐藏,然后当checkbox被选中时,对应的内容区块显示出来。

三、利用CSS的animation实现

利用CSS3新增的animation属性,结合标签自身的状态,可以实现Tab切换效果,代码如下所示:

<ul>
  <li><a href="#tab1">Tab 1</a></li>
  <li><a href="#tab2">Tab 2</a></li>
  <li><a href="#tab3">Tab 3</a></li>
</ul>

<div id="tab1">
  <p>Tab 1 Content</p>
</div>
<div id="tab2">
  <p>Tab 2 Content</p>
</div>
<div id="tab3">
  <p>Tab 3 Content</p>
</div>

对应的CSS代码如下所示:

div[id^="tab"] {
  display: none;
}

div[id^="tab"]:target {
  display: block;
  animation: fadeIn 1s;
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity: 1;}
}

这段CSS代码的作用是:首先将所有的内容区块隐藏,然后当锚点被点击时,对应的内容区块显示出来,并实现淡入的效果。

示例:

查看本文示例:CSS实现导航条Tab切换的三种方法介绍

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS实现导航条Tab切换的三种方法介绍 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • vue3过渡动画的详解

    Vue3过渡动画的详解 在 Vue3 中,过渡动画的实现更加简单易用,本文将从以下几个方面介绍Vue3的过渡动画: 过渡类名 过渡模式 自定义过渡函数 示例程序 过渡类名 在 Vue3 中,过渡类名的命名规则和 Vue2 一样。当元素被插入、更新或删除时,你可以在元素上添加不同的 class 名称来指定不同的状态。 Vue3 中的过渡类名和 Vue2 中的类…

    css 2023年6月10日
    00
  • ie6 fixed bug的解决方法 (css+js)

    针对“ie6 fixed bug的解决方法 (css+js)”这个主题,以下是完整的攻略: 问题背景 在制作网站过程中,我们经常会遇到IE6浏览器下固定定位的元素会出现抖动的情况,这是因为IE6的浏览器对CSS中的position:fixed属性支持不好,需要采用特定的解决方法来解决这个问题。 解决方法 CSS 方法 使用position:absolute替…

    css 2023年6月10日
    00
  • 酷! 不同风格页面布局幻灯片特效js实现

    下面我来详细讲解如何实现“酷! 不同风格页面布局幻灯片特效js实现”的完整攻略。 1. 准备工作 首先需要准备好以下工作: 编辑器:推荐使用 VS Code 或者 Sublime Text; 前端框架:可以选择使用 Bootstrap、Foundation 等 CSS 框架,或者自己手写 CSS; JavaScript 库:推荐使用 jQuery、swipe…

    css 2023年6月10日
    00
  • vue3+vite assets动态引入图片的三种方法及解决打包后图片路径错误不显示的问题

    下面我将为您详细讲解“vue3+vite assets动态引入图片的三种方法及解决打包后图片路径错误不显示的问题”的完整攻略。 一、问题描述 在使用vue3和vite搭建前端项目时,我们可能会遇到动态引入图片的问题。具体而言,我们需要在vue3的template中动态引入图片资源进行展示,但是在打包部署的时候,我们发现图片路径出现错误,导致图片无法显示。因此…

    css 2023年6月9日
    00
  • 三谈Iframe自适应高度代码

    下面是详细讲解“三谈Iframe自适应高度代码”的完整攻略: 1. 什么是Iframe自适应高度代码 Iframe自适应高度代码是为了解决一个Iframe高度无法自适应其内容高度的问题而产生的。在实际开发中,常常遇到一个问题,就是如果Iframe中的内容高度超过了Iframe的高度,那么就会出现滚动条,这样就无法完美地展示Iframe中的内容。因此,我们需要…

    css 2023年6月10日
    00
  • css实现电梯导航的项目实践

    下面我为你详细讲解“CSS实现电梯导航的项目实践”的攻略。 背景介绍 电梯导航是指一个固定位置的导航栏,在滚动页面的过程中,根据页面的位置的不同,导航栏上的对应按钮会高亮显示。用 CSS 实现电梯导航,可以提升页面的用户体验和可用性。 实现步骤 确定页面布局 首先,需要确定电梯导航的位置和布局。一般来说,电梯导航可以放置在页面的固定位置,比如页面左侧或右侧,…

    css 2023年6月10日
    00
  • vant如何修改placeholder样式

    当使用vant中的组件时,有时我们需要修改组件中的特定样式,这包括修改placeholder的样式。下面是关于如何修改vant中placeholder样式的步骤: 1. 确认样式类名 vant中的组件都有各自的默认样式。要修改placeholder样式,我们需要先确认它所在的样式类名。可以通过在chrome浏览器中打开开发者工具,在要修改的元素上右键,选择“…

    css 2023年6月9日
    00
  • 判断横屏竖屏(三种)

    下面是关于判断横屏和竖屏的三种方法的完整攻略: 1. 使用CSS3媒体查询 可以使用CSS3媒体查询来检测并设置横竖屏的样式。首先,需要在CSS文件中添加媒体查询,并使用@media规则将其包装。例如,以下的媒体查询可以检测到设备是否处于横屏状态: @media screen and (orientation: landscape) { /* 竖屏样式 */…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部