CSS标签切换代码实例教程 比较漂亮

ChromeJS网站专栏上的“CSS标签切换代码实例教程 比较漂亮”是一篇介绍如何实现CSS标签切换效果的教程,该文主要从以下几个方面进行讲解:

1. 目录结构

首先,该文介绍了整个教程所需要的文件结构以及所用到的文件,其中主要包括index.html、index.css和index.js三个文件和一个img文件夹。

2. 实现思路

其次,该文详细介绍了如何实现CSS标签切换效果的实现思路。主要思路是通过JS控制HTML中标签的class属性,从而实现标签样式的切换。具体来说,文章介绍了如何使用JS监听页面加载完毕事件,然后通过获取相应的DOM元素、添加和删除类名等方式来实现标签切换。

3. 代码实现

最后,该文提供了两个完整的代码实例。第一个实例是基础版,通过改变标签的class实现了标签切换效果。第二个实例是升级版,引入了动画效果和鼠标事件监听,让标签切换更加生动有趣。

下面分别通过代码块的形式来展示这两个实例,具体代码实现详见以下示例:

基础版代码实现

<!-- index.html -->
<div class="container">
  <div class="header">
    <ul class="tabs">
      <li class="active"><a href="#" data-target="#tab1">Tab 1</a></li>
      <li><a href="#" data-target="#tab2">Tab 2</a></li>
      <li><a href="#" data-target="#tab3">Tab 3</a></li>
    </ul>
  </div>
  <div class="content">
    <div id="tab1" class="active">This is tab 1</div>
    <div id="tab2">This is tab 2</div>
    <div id="tab3">This is tab 3</div>
  </div>
</div>

<!-- index.css -->
.container {
  max-width: 800px;
  margin: 0 auto;
  background-color: #f5f5f5;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
}

.header {
  display: flex;
  justify-content: center;
}

.tabs {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tabs li {
  margin-right: 10px;
}

.tabs li a {
  display: block;
  padding: 10px;
  text-decoration: none;
  background-color: #ddd;
  color: #333;
}

.tabs li.active a {
  background-color: #3388dd;
  color: #fff;
}

.content div {
  display: none;
}

.content div.active {
  display: block;
}

<!-- index.js -->
let tabs = document.querySelectorAll('.tabs li a');

for (let i = 0; i < tabs.length; i++) {
  tabs[i].addEventListener('click', (e) => {
    e.preventDefault();
    let target = e.target.getAttribute('data-target');
    let tab = document.querySelector(target);
    let activeTab = document.querySelector('.content .active');
    activeTab.classList.remove('active');
    tab.classList.add('active');
    let activeLink = document.querySelector('.tabs .active');
    activeLink.classList.remove('active');
    e.target.parentElement.classList.add('active');
  })
}

升级版代码实现

<!-- index.html -->
<div class="container">
  <div class="header">
    <ul class="tabs">
      <li class="active"><a href="#" data-target="#tab1">Tab 1</a></li>
      <li><a href="#" data-target="#tab2">Tab 2</a></li>
      <li><a href="#" data-target="#tab3">Tab 3</a></li>
    </ul>
  </div>
  <div class="content">
    <div id="tab1" class="active"><img src="./img/image1.jpg"></div>
    <div id="tab2"><img src="./img/image2.jpg"></div>
    <div id="tab3"><img src="./img/image3.jpg"></div>
  </div>
</div>

<!-- index.css -->
.container {
  max-width: 800px;
  margin: 0 auto;
  background-color: #f5f5f5;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.3);
}

.header {
  display: flex;
  justify-content: center;
}

.tabs {
  display: flex;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.tabs li {
  margin-right: 10px;
}

.tabs li a {
  display: block;
  padding: 10px;
  text-decoration: none;
  background-color: #ddd;
  color: #333;
}

.tabs li.active a {
  background-color: #3388dd;
  color: #fff;
}

.content div {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 16:9 aspect ratio */
  overflow: hidden;
}

.content div img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 300ms ease;
}

.content div.active img {
  opacity: 1;
}

<!-- index.js -->
let tabs = document.querySelectorAll('.tabs li a');

for (let i = 0; i < tabs.length; i++) {
  tabs[i].addEventListener('click', (e) => {
    e.preventDefault();
    let target = e.target.getAttribute('data-target');
    let tab = document.querySelector(target);
    let activeTab = document.querySelector('.content .active');
    activeTab.classList.remove('active');
    tab.classList.add('active');
    let activeLink = document.querySelector('.tabs .active');
    activeLink.classList.remove('active');
    e.target.parentElement.classList.add('active');
  })
}

let content = document.querySelector('.content');

content.addEventListener('mouseenter', () => {
  content.classList.add('hover');
})

content.addEventListener('mouseleave', () => {
  content.classList.remove('hover');
})

以上就是这篇“CSS标签切换代码实例教程 比较漂亮”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS标签切换代码实例教程 比较漂亮 - Python技术站

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

相关文章

  • 网页设计中的CSS Sprites技术介绍及其优化方法

    下面我就为您详细讲解“网页设计中的CSS Sprites技术介绍及其优化方法”的完整攻略。 什么是CSS Sprites CSS Sprites指的是利用背景图片的定位来减少加载页面图片次数的一种技术。CSS Sprites技术可以将多个图片整合到一张大图中,然后通过CSS定位来显示出所需的图片内容,从而达到减少HTTP请求和网页加载速度的目的。 CSS S…

    css 2023年6月10日
    00
  • CSS3网格的三个新特性详解

    下面是“CSS3网格的三个新特性详解”的完整攻略: CSS3网格的三个新特性详解 1. 网格容器的定义 在 CSS3 中,我们可以通过定义网格容器来使用网格。定义网格容器的方式是将元素的 display 属性设置为 grid 或 inline-grid。 .container { display: grid; /* 其他样式属性 */ } 或者是: .con…

    css 2023年6月9日
    00
  • Vue 使用超图SuperMap的实践

    下面我将为您提供一份“Vue 使用超图SuperMap的实践”的完整攻略: Vue 使用超图SuperMap的实践 背景 超图SuperMap是一款常用的GIS地理信息系统,而Vue是一个流行的前端框架,本攻略旨在介绍如何在Vue项目中使用超图SuperMap。 前置条件 了解Vue框架的基础知识,包括Vue组件、数据绑定、生命周期等。 能够基础的HTML、…

    css 2023年6月10日
    00
  • jquery判断元素是否隐藏的多种方法

    当我们使用jQuery进行页面开发时,有时需要判断页面元素是否隐藏。本文将介绍三种方法来实现这个目标。 方法一:使用.css(“display”)方法 我们可以使用.css(“display”)方法来获取元素的显示状态。如果元素已隐藏,.css(“display”)将返回“none”,否则它将返回元素的显示状态。 示例1:隐藏一个元素并检查其状态 <!…

    css 2023年6月9日
    00
  • 微信小程序 二维码canvas绘制实例详解

    微信小程序 二维码canvas绘制实例详解 一、前言 在微信小程序中,我们经常需要使用二维码来扫描获取数据或者分享给其他人,而在实际开发中,我们经常需要动态生成二维码并将其展示在页面上。在实现该功能时,可以使用canvas来绘制二维码,本文将详细讲解如何使用canvas来生成二维码的功能。 二、实现步骤 1. 引入QRCode.js文件 QRCode.js是…

    css 2023年6月11日
    00
  • CSS SandBox应用场景及常见问题

    CSS SandBox应用场景及常见问题 什么是CSS SandBox CSS SandBox是一个基于CSS的“游乐场”,它可以提供一个独立的CSS环境用于开发者的实验和学习。在CSS SandBox中,开发者可以方便地尝试各种CSS属性、布局和动画效果而不必担心对其他页面的影响。 CSS SandBox的优点包括: 独立环境,不影响其他页面的样式 方便尝…

    css 2023年6月9日
    00
  • vue 鼠标移入移出(hover)切换显示图片问题

    对于vue鼠标移入移出(hover)切换显示图片问题,我们可以通过以下步骤进行实现: 步骤1:创建Vue组件 我们需要创建一个Vue组件来实现该功能。首先,在HTML中定义一个div,并为其添加v-on:mouseenter和v-on:mouseleave事件。然后,给该div添加v-bind样式绑定和v-bind:image_src属性绑定。这里我们需要注…

    css 2023年6月10日
    00
  • 用JavaScript修改CSS属性的代码

    下面我将为你详细讲解如何使用JavaScript修改CSS属性的攻略。 一、通过JavaScript选择元素 要修改一个元素的CSS属性,我们首先需要获取到这个元素。我们可以通过JavaScript的选择器来选定元素,常用的选择器有以下几种: 1. 按ID选择元素 var element = document.getElementById("ele…

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