Maison > interface Web > Questions et réponses frontales > implémentation CSS de l'onglet

implémentation CSS de l'onglet

王林
Libérer: 2023-05-21 09:10:36
original
992 Les gens l'ont consulté

Dans la conception Web, obtenir un effet de changement d'onglet est une exigence courante. Cet effet peut être facilement obtenu en utilisant CSS. Expliquons en détail comment utiliser CSS pour réaliser le changement d'onglet.

Tout d’abord, nous devons préparer le code HTML. Le changement d'onglet est souvent composé d'un ensemble de zones de contenu et de boutons de navigation correspondants, comme indiqué ci-dessous :

<div class="tabs">
  <div class="tab-nav">
    <a href="#" class="active">Tab 1</a>
    <a href="#">Tab 2</a>
    <a href="#">Tab 3</a>
  </div>
  <div class="tab-content active">
    <p>这是Tab 1的内容</p>
  </div>
  <div class="tab-content">
    <p>这是Tab 2的内容</p>
  </div>
  <div class="tab-content">
    <p>这是Tab 3的内容</p>
  </div>
</div>
Copier après la connexion

Dans cet exemple, nous utilisons un conteneur .tabs pour charger les éléments liés aux onglets, y compris les boutons de navigation. et la zone de contenu. .tab-nav est utilisé pour placer le bouton de navigation de l'onglet, .tab-content est utilisé pour placer le contenu de l'onglet et .active représente le bouton de navigation ou la zone de contenu est l'état par défaut. .tabs的容器来装载Tab相关元素,包括导航按钮与内容区域。.tab-nav用于放置Tab导航按钮,.tab-content用于放置Tab内容,.active表示导航按钮或内容区域的默认状态。

接下来,我们需要利用CSS来实现Tab切换效果。我们可以用伪类:hover:focus来实现导航按钮的悬停或聚焦效果,例如:

.tab-nav a:hover,
.tab-nav a:focus {
  background-color: #ccc;
}
Copier après la connexion

这里我们为.tab-nav a添加了:hover:focus伪类,当鼠标悬停或导航按钮被聚焦时,会出现背景色#ccc的效果。这样用户可以更直观地感知被选中的Tab。

接下来,我们需要为Tab切换添加一个动画效果。我们可以通过使用CSS3的transition属性来实现这个效果,例如:

.tab-content {
  opacity: 0;
  transition: opacity .3s ease-in-out;
}

.tab-content.active {
  opacity: 1;
}
Copier après la connexion

这里我们将.tab-content的默认状态opacity设为0,表示没有内容显示。然后我们对.tab-content添加了一个transition属性,表示在0.3秒内,产生一个淡入淡出的效果。而当.tab-content处于.active状态时,opacity被设为1,显示具体的内容。

最后,我们需要实现Tab导航按钮与内容区域的联动,这里我们可以使用CSS的:target伪类,例如:

.tab-content:target {
  display: block;
}

.tab-content {
  display: none;
}
Copier après la connexion

这里我们为.tab-content添加:target伪类,表示仅当该元素被锚点目标定位时才将该元素的display设为block,显示具体内容。而在没有被锚点目标定位时,则将.tab-contentdisplay设为none

Ensuite, nous devons utiliser CSS pour obtenir l'effet de changement d'onglet. On peut utiliser la pseudo-classe :hover ou :focus pour réaliser l'effet de survol ou de focus du bouton de navigation, par exemple :

<div class="tabs">
  <div class="tab-nav">
    <a href="#tab1" class="active">Tab 1</a>
    <a href="#tab2">Tab 2</a>
    <a href="#tab3">Tab 3</a>
  </div>
  <div class="tab-content active" id="tab1">
    <p>这是Tab 1的内容</p>
  </div>
  <div class="tab-content" id="tab2">
    <p>这是Tab 2的内容</p>
  </div>
  <div class="tab-content" id="tab3">
    <p>这是Tab 3的内容</p>
  </div>
</div>
Copier après la connexion

Nous y sommes .tab-nav aAjout des pseudo-classes :hover et :focus Lorsque la souris survole ou que le bouton de navigation est focus, la couleur d'arrière-plan #ccc< /code>. De cette façon, l’utilisateur peut percevoir l’onglet sélectionné de manière plus intuitive. <p></p>Ensuite, nous devons ajouter un effet d'animation pour le changement d'onglet. Nous pouvons obtenir cet effet en utilisant l'attribut <code>transition de CSS3, par exemple : 🎜
.tab-nav a:hover,
.tab-nav a:focus {
  background-color: #ccc;
}

.tab-content {
  opacity: 0;
  transition: opacity .3s ease-in-out;
  display: none;
}

.tab-content.active {
  opacity: 1;
  display: block;
}

.tab-content:target {
  display: block;
}

.tab-content {
  display: none;
}
Copier après la connexion
🎜Ici, nous définissons l'état par défaut de .tab-content sur opacity Mis à 0, indiquant qu'aucun contenu n'est affiché. Ensuite, nous avons ajouté un attribut <code>transition à .tab-content, ce qui signifie qu'un effet de fondu entrant et sortant sera produit dans un délai de 0,3 seconde. Lorsque .tab-content est dans l'état .active, opacity est défini sur 1 pour afficher un contenu spécifique. 🎜🎜Enfin, nous devons réaliser le lien entre le bouton de navigation de l'onglet et la zone de contenu. Ici, nous pouvons utiliser la pseudo-classe :target de CSS, par exemple : 🎜rrreee🎜Ici, nous utilisons <. code>.tab-contentAjoutez la pseudo-classe :target, ce qui signifie que l'display de l'élément sera défini sur block uniquement lorsque l'élément est positionné par la cible d'ancrage, affiche le contenu spécifique. Lorsqu'il n'est pas positionné par une cible d'ancrage, définissez l'affichage de .tab-content sur aucun pour le masquer. 🎜🎜Grâce aux étapes ci-dessus, nous avons terminé la mise en œuvre de l'effet de changement de tabulation. Le code complet est le suivant : 🎜rrreeerrreee🎜Grâce aux étapes ci-dessus, vous pouvez désormais utiliser CSS pour obtenir facilement l'effet de changement d'onglet dans vos pages Web. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal