Maison interface Web tutoriel CSS Effet d'onglet CSS3 pur simple et élégant

Effet d'onglet CSS3 pur simple et élégant

Mar 24, 2017 pm 01:43 PM

Bref tutoriel

Il s'agit d'un effet d'onglet Onglets réalisé en CSS3 pur. L'onglet Onglets est simple et élégant, et l'animation soulignée suivante est utilisée lors du basculement entre les onglets. L'effet global est très bon.

Structure HTML

La structure HTML de l'ensemble de l'onglet Onglets est divisée en plusieurs parties : utilisez les éléments

<input type="radio" id="tab1" name="tab-control" checked>
<input type="radio" id="tab2" name="tab-control">
<input type="radio" id="tab3" name="tab-control">  
<input type="radio" id="tab4" name="tab-control">
<ul>
  <li title="tab 1"><label for="tab1" role="button"><span>Tab 1</span></label></li>
  <li title="tab 2"><label for="tab2" role="button"><span>Tab 2</span></label></li>
  <li title="tab 3"><label for="tab3" role="button"><span>Tab 3</span></label></li>
  <li title="tab 4"><label for="tab4" role="button"><span>Tab 4</span></label></li>
</ul>
Copier après la connexion

Le contenu de chaque onglet est contenu dans un élément

<p class="content">
  <section>
    <h2>Tab 1 content</h2>
  </section>
  <section>
    <h2>Tab 2 content</h2>
  </section>
  <section>
    <h2>Tab 3 content</h2>
  </section>
  <section>
    <h2>Tab 4 content</h2>
  </section>
</p>
Copier après la connexion

La ligne utilisée pour animer le soulignement est créée à l'aide d'un élément

<p class="slider"><p class="indicator"></p></p>
Copier après la connexion

Style CSS

Les principaux styles CSS de l'onglet Onglets sont les suivants :

.tabs {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  position: relative;
  background: white;
  padding: 50px;
  padding-bottom: 80px;
  width: 70%;
  height: 250px;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
  border-radius: 5px;
  min-width: 240px;
}
 
.tabs input[name="tab-control"] { display: none; }
 
.tabs .content section h2, .tabs ul li label {
  font-weight: bold;
  font-size: 18px;
  color: #428BFF;
}
 
.tabs ul {
  list-style-type: none;
  padding-left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  margin-bottom: 10px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
 
.tabs ul li {
  box-sizing: border-box;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 25%;
  padding: 0 10px;
  text-align: center;
}
 
.tabs ul li label {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  color: #929daf;
  padding: 5px auto;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  white-space: nowrap;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
 
.tabs ul li label br { display: none; }
 
.tabs ul li label svg {
  fill: #929daf;
  height: 1.2em;
  vertical-align: bottom;
  margin-right: 0.2em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
 
.tabs ul li label:hover, .tabs ul li label:focus, .tabs ul li label:active {
  outline: 0;
  color: #bec5cf;
}
 
.tabs ul li label:hover svg, .tabs ul li label:focus svg, .tabs ul li label:active svg { fill: #bec5cf; }
 
.tabs .slider {
  position: relative;
  width: 25%;
  -webkit-transition: all 0.33s cubic-bezier(0.38, 0.8, 0.32, 1.07);
  transition: all 0.33s cubic-bezier(0.38, 0.8, 0.32, 1.07);
}
 
.tabs .slider .indicator {
  position: relative;
  width: 50px;
  max-width: 100%;
  margin: 0 auto;
  height: 4px;
  background: #428BFF;
  border-radius: 1px;
}
 
.tabs .content { margin-top: 30px; }
 
.tabs .content section {
  display: none;
  -webkit-animation-name: content;
  animation-name: content;
  -webkit-animation-direction: normal;
  animation-direction: normal;
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  line-height: 1.4;
}
 
.tabs .content section h2 {
  color: #428BFF;
  display: none;
}
 
.tabs .content section h2::after {
  content: "";
  position: relative;
  display: block;
  width: 30px;
  height: 3px;
  background: #428BFF;
  margin-top: 5px;
  left: 1px;
}
 
.tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label {
  cursor: default;
  color: #428BFF;
}
 
.tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label svg { fill: #428BFF; }
@media (max-width: 600px) {
 
.tabs input[name="tab-control"]:nth-of-type(1):checked ~ ul > li:nth-child(1) > label { background: rgba(0, 0, 0, 0.08); }
}
 
.tabs input[name="tab-control"]:nth-of-type(1):checked ~ .slider {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
}
 
.tabs input[name="tab-control"]:nth-of-type(1):checked ~ .content > section:nth-child(1) { display: block; }
 
.tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label {
  cursor: default;
  color: #428BFF;
}
 
.tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label svg { fill: #428BFF; }
@media (max-width: 600px) {
 
.tabs input[name="tab-control"]:nth-of-type(2):checked ~ ul > li:nth-child(2) > label { background: rgba(0, 0, 0, 0.08); }
}
 
.tabs input[name="tab-control"]:nth-of-type(2):checked ~ .slider {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}
 
.tabs input[name="tab-control"]:nth-of-type(2):checked ~ .content > section:nth-child(2) { display: block; }
 
.tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label {
  cursor: default;
  color: #428BFF;
}
 
.tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label svg { fill: #428BFF; }
@media (max-width: 600px) {
 
.tabs input[name="tab-control"]:nth-of-type(3):checked ~ ul > li:nth-child(3) > label { background: rgba(0, 0, 0, 0.08); }
}
 
.tabs input[name="tab-control"]:nth-of-type(3):checked ~ .slider {
  -webkit-transform: translateX(200%);
  transform: translateX(200%);
}
 
.tabs input[name="tab-control"]:nth-of-type(3):checked ~ .content > section:nth-child(3) { display: block; }
 
.tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label {
  cursor: default;
  color: #428BFF;
}
 
.tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label svg { fill: #428BFF; }
@media (max-width: 600px) {
 
.tabs input[name="tab-control"]:nth-of-type(4):checked ~ ul > li:nth-child(4) > label { background: rgba(0, 0, 0, 0.08); }
}
 
.tabs input[name="tab-control"]:nth-of-type(4):checked ~ .slider {
  -webkit-transform: translateX(300%);
  transform: translateX(300%);
}
 
.tabs input[name="tab-control"]:nth-of-type(4):checked ~ .content > section:nth-child(4) { display: block; }
@-webkit-keyframes 
content {  from {
 opacity: 0;
 -webkit-transform: translateY(5%);
 transform: translateY(5%);
}
 
to {
  opacity: 1;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}
}
@keyframes 
content {  from {
 opacity: 0;
 -webkit-transform: translateY(5%);
 transform: translateY(5%);
}
 
to {
  opacity: 1;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}
}
@media (max-width: 1000px) {
 
.tabs ul li label { white-space: initial; }
 
.tabs ul li label br { display: initial; }
 
.tabs ul li label svg { height: 1.5em; }
}
@media (max-width: 600px) {
 
.tabs ul li label {
  padding: 5px;
  border-radius: 5px;
}
 
.tabs ul li label span { display: none; }
 
.tabs .slider { display: none; }
 
.tabs .content { margin-top: 20px; }
 
.tabs .content section h2 { display: block; }
Copier après la connexion

Ce qui précède est le contenu du CSS3 pur simple et élégant Effet d'onglet Onglets, Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Articles connexes :

Programme WeChat Mini : Exemple de mise en œuvre de l'effet d'onglets

Implémentation de l'effet d'onglets dans le programme WeChat Mini

javascript implémente l'effet de changement d'onglet

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Correction : erreur ERR_ADDRESS_UNREACHABLE dans Google Chrome Correction : erreur ERR_ADDRESS_UNREACHABLE dans Google Chrome May 15, 2023 pm 06:22 PM

Plusieurs utilisateurs de Windows se sont plaints du fait que lorsqu'ils tentent d'accéder à certains sites Web sur le navigateur Google Chrome sur leurs systèmes, ils ne parviennent pas à accéder aux pages Web. Il affiche également un message sur le navigateur indiquant « Le site n'est pas accessible » avec le code d'erreur ERR_ADDRESS_UNREACHABLE. Il peut y avoir de nombreuses raisons potentielles derrière ce problème, cela peut être dû à des problèmes de serveur de site Web, aux paramètres du serveur proxy, à une connexion Internet instable, etc. Si vous rencontrez des problèmes similaires, pas de panique. Après avoir analysé en profondeur le problème dans cet article, nous avons obtenu de nombreuses solutions. Avant de continuer, essayez les solutions de contournement suivantes : Essayez de vérifier si l'utilisateur tente d'accéder au site à partir d'autres appareils et qu'il n'y a aucun problème, alors ceci

Comment réparer le volet d'aperçu qui ne fonctionne pas sous Windows 11 Comment réparer le volet d'aperçu qui ne fonctionne pas sous Windows 11 Apr 24, 2023 pm 06:46 PM

L'une des fonctionnalités fournies avec l'Explorateur de fichiers Windows est le volet d'aperçu, qui affiche un aperçu du fichier que vous avez sélectionné. Cela signifie que vous pouvez afficher le contenu du fichier avant de l'ouvrir. Le volet d'aperçu de l'Explorateur de fichiers fournit des aperçus de différents types de fichiers tels que les documents Office, les PDF, les fichiers texte, les images et les vidéos. Cela fonctionne généralement bien, mais parfois l'aperçu du fichier n'est pas disponible. Récemment, de nombreux utilisateurs de Windows 11 ont soulevé le problème selon lequel le volet d’aperçu de l’Explorateur de fichiers ne fonctionne pas et ne peuvent pas afficher les aperçus des fichiers. Êtes-vous confronté au problème du volet de visualisation qui ne fonctionne pas sur votre ordinateur Windows ? Ensuite, continuez à lire cet article. Nous avons compilé ici une liste de correctifs qui peuvent vous aider à résoudre

Vous ne pouvez pas utiliser MSI Afterburner sous Windows 11 ? Essayez les correctifs suivants. Vous ne pouvez pas utiliser MSI Afterburner sous Windows 11 ? Essayez les correctifs suivants. May 09, 2023 am 09:16 AM

MSIAfterburner est un outil d'overclocking adapté à la plupart des cartes graphiques. En dehors de cela, vous pouvez également l'utiliser pour surveiller les performances de votre système. Mais certains utilisateurs ont signalé que MSIAfterburner ne fonctionnait pas sous Windows 11. Cela peut être dû à plusieurs raisons, que nous aborderons dans les sections suivantes. Cependant, lorsque cela se produit, cela vous empêche de modifier les performances ou de les surveiller pendant le jeu. Comme prévu, cela pose un défi de taille aux joueurs. C'est pourquoi nous avons dédié ce didacticiel pour vous aider à comprendre le problème et vous guider à travers les correctifs les plus efficaces pour le problème MSIAfterburned ne fonctionnant pas sous Windows 11.

Correctif : erreur VAN 1067 lors de l'exécution de Valorant sous Windows 11 Correctif : erreur VAN 1067 lors de l'exécution de Valorant sous Windows 11 May 22, 2023 pm 02:41 PM

Le système d'exploitation est bien meilleur que son prédécesseur et possède des fonctionnalités orientées joueurs comme AutoHDR et DirectStorage, mais les joueurs de Valorant ont eu quelques difficultés à lancer le jeu. Ce n'est pas le premier problème rencontré par les joueurs plus tôt, Valorant qui ne s'ouvre pas sur Windows 11 est un autre problème qui les tourmente, mais nous avons expliqué les moyens de le résoudre. Il semble maintenant que les joueurs de Valorant qui sont passés à Windows 11 soient confrontés à des problèmes dus aux services Secure Boot et TPM2.0, ce qui fait que le menu du jeu n'affiche qu'une option de sortie pendant l'exécution. De nombreux utilisateurs reçoivent l'erreur VAN1067, mais cela ne devrait pas être une source d'inquiétude

Comment désactiver la lecture automatique des vidéos dans le navigateur Opera ? Comment désactiver la lecture automatique des vidéos dans le navigateur Opera ? Apr 22, 2023 pm 10:43 PM

La dernière version du navigateur Opera inclut une nouvelle fonctionnalité de popup vidéo automatique. En utilisant cette fonctionnalité, vous remarquerez que la vidéo apparaîtra automatiquement lorsque vous naviguerez vers un autre onglet du navigateur. Il a été remarqué que cette vidéo contextuelle peut être redimensionnée et déplacée sur l'écran. Lorsque vous revenez à l'onglet Vidéos, il reprend et la fenêtre flottante disparaît. La fonctionnalité vidéo contextuelle est utile pour les utilisateurs multitâches qui aiment regarder des vidéos tout en travaillant. Cependant, tous les utilisateurs d'Opera n'apprécieront pas cette fonctionnalité de popup vidéo automatique. Si vous faites partie de ces utilisateurs du navigateur Opera qui sont ennuyés par les vidéos qui apparaissent à chaque fois que vous changez d'onglet, alors vous avez trouvé le bon article. Nous détaillons ici comment désactiver cette fenêtre contextuelle dans Opera

La fonction DirectX GetDeviceRemovedReason échoue avec une erreur La fonction DirectX GetDeviceRemovedReason échoue avec une erreur May 17, 2023 pm 03:38 PM

Presque tous les jeux haut de gamme auxquels nous jouons s'appuient sur DirectX pour fonctionner efficacement. Cependant, certains utilisateurs ont signalé avoir rencontré la fonction DirectX GetDeviceRemovedReasonfailedwith suivie de la raison de l'erreur. Les raisons ci-dessus ne sont pas évidentes pour l’utilisateur moyen et nécessitent un certain niveau de recherche pour déterminer la cause profonde et la solution la plus efficace. Pour faciliter les choses, nous avons dédié ce tutoriel à ce problème. Dans les sections suivantes, nous vous aiderons à identifier les causes potentielles et vous guiderons à travers les étapes de dépannage pour éliminer la fonction DirectX GetDeviceRemovedReasonfailedwitherror. quelles sont les causes

Pour résoudre ce problème, vous devez utiliser une station Windows interactive Pour résoudre ce problème, vous devez utiliser une station Windows interactive Apr 24, 2023 pm 11:52 PM

Cette opération nécessite une station fenêtre interactive ce qui est un bug assez étrange. Les fenêtres du logiciel permettant aux utilisateurs d'interagir avec l'application ne sont pas ouvertes, vous devez les activer. Ce bug a été lié à la vulnérabilité 2021 Printing Nightmare. Cependant, cela continue à ce jour, affectant les pilotes de votre ordinateur et de vos périphériques. Heureusement, c'est facile à réparer. Pourquoi cette erreur se produit-elle en premier lieu ? Avant de décrire comment corriger cette erreur, assurez-vous de répertorier les causes de cette erreur. De cette façon, vous pourrez prendre les mesures nécessaires pour garantir que cela ne se reproduise plus. Les fichiers corrompus gâchent vos fichiers informatiques – La corruption peut être causée par diverses raisons, allant des logiciels malveillants aux pannes de courant. Il est recommandé d'exécuter une analyse SFC. Vous avez une application antivirus trop zélée – Le logiciel antivirus bloque parfois

Comment optimiser la vitesse de connexion Internet sous Windows 11 Comment optimiser la vitesse de connexion Internet sous Windows 11 Apr 23, 2023 pm 10:46 PM

Comment résoudre le problème de la lenteur du réseau sous Windows 11 ? 1. Redémarrez votre ordinateur Accédez au bureau et appuyez sur Alt+F4 pour activer la case « Arrêter Windows ». Cliquez sur le menu déroulant et sélectionnez Redémarrer dans la liste des options. Ensuite, cliquez sur OK. Pour la plupart des problèmes que vous rencontrez sous Windows 11, l’une des solutions les plus efficaces consiste simplement à redémarrer votre ordinateur. Si c'est un processus en arrière-plan ou une erreur qui est à l'origine du problème, le redémarrage du système d'exploitation l'éliminera, corrigeant ainsi l'erreur. Après avoir redémarré l'ordinateur, vérifiez si le problème de vitesse du réseau de Windows 11 est résolu. 2. Assurez-vous que le PC est à portée du routeur (réseau Wi-Fi). Dans le cas d'un réseau sans fil, plus l'appareil est éloigné du routeur, plus la vitesse Internet sera lente.

See all articles