Maison > interface Web > tutoriel CSS > Conception d'interface de menu de navigation à commutation de page unique CSS3 pure

Conception d'interface de menu de navigation à commutation de page unique CSS3 pure

黄舟
Libérer: 2017-01-19 14:17:16
original
1677 Les gens l'ont consulté

Bref tutoriel

Il s'agit d'un effet de conception d'interface de menu de navigation à commutation d'une seule page réalisé en CSS3 pur. Dans cet effet de page, un ensemble de boutons de navigation sont disposés verticalement sur le côté gauche de la page. Lorsque vous cliquez sur le bouton de navigation, la page correspondante glisse hors du côté droit de l'écran.

Comment utiliser

Structure HTML

La structure HTML de l'interface du menu de navigation de commutation d'une seule page est la suivante :

<div class="ct" id="t1">
  <div class="ct" id="t2">
    <div class="ct" id="t3">
      <div class="ct" id="t4">
         <div class="ct" id="t5">
          <ul id="menu">
            <a href="#t1"><li class="icon fa fa-bolt" id="uno"></li></a>
            <a href="#t2"><li class="icon fa fa-keyboard-o" id="dos"></li></a>
            <a href="#t3"><li class="icon fa fa-rocket" id="tres"></li></a>
            <a href="#t4"><li class="icon fa fa-dribbble" id="cuatro"></li></a>
            <a href="#t5"><li class="icon fa fa-plus-circle" id="cinco"></li></a>
          </ul>
          <div class="page" id="p1">
             <section class="icon fa fa-bolt"><span class="title">Bolt</span><span class="hint">...</section>  
          </div>
          <div class="page" id="p2">
            <section class="icon fa fa-keyboard-o"><span class="title">Type</span></section>
          </div>  
          <div class="page" id="p3">
            <section class="icon fa fa-rocket"><span class="title">Rocket</span></section>
          </div>
          <div class="page" id="p4">
            <section class="icon fa fa-dribbble">
              <span class="title">Dribbble</span>
              <p class="hint">
                Im ready to play, <span class="hint line-trough">invite me </span> find me
              </p>
              <p class="hint">...</p>
            </section>
          </div> 
          <div class="page" id="p5">
            <section class="icon fa fa-plus-circle">
              <span class="title">More</span>
              <p class="hint">
                ...
              </p>
            </section>
          </div> 
        </div>
      </div>
    </div>
  </div>
</div>
Copier après la connexion

Style CSS

L'interface du menu de navigation de changement de page utilise la transformation et la transition pour créer des effets d'animation de changement de page. Et utilisez le pseudo-élément :target pour terminer le changement de page lorsque vous cliquez sur le bouton. Le code CSS complet est le suivant. Le préfixe du fabricant du navigateur n'est pas ajouté au code.

html, body, .page {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  transition: all .6s cubic-bezier(.5, .2, .2, 1.1);
  color: #fff;
  overflow: hidden; 
}
 
* {
  font-family: &#39;open sans&#39;, &#39;lato&#39;, &#39;helvetica&#39;, sans-serif;
}
 
.page {
  position: absolute;
}
 
#p1 {
  left: 0;
}
 
#p2, #p3, #p4, #p5 {
  left: 200%;
}
 
#p1 { background: darkslateblue; }
#p2 { background: tomato; }
#p3 { background: gold; }
#p4 { background: deeppink; }
#p5 { background: #9b59b6; }
 
#t2:target #p2,
#t3:target #p3,
#t4:target #p4,
#t5:target #p5 {
  transform: translateX(-190%);
  transition-delay: .4s !important;
}
 
#t2:target #p1, 
#t3:target #p1,
#t4:target #p1,
#t5:target #p1{
  background: black;
}
 
#t2:target #p1 .icon, 
#t3:target #p1 .icon,
#t4:target #p1 .icon,
#t5:target #p1 .icon {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}
 
.icon {
  color: #fff;
  font-size: 32px;
  display: block;
}
 
ul .icon:hover {
  opacity: 0.5;
}
 
.page .icon .title {
  line-height: 2;
}
 
#t2:target ul .icon,
#t3:target ul .icon,
#t4:target ul .icon,
#t5:target ul .icon{
  transform: scale(.6);
  transition-delay: .25s;
}
 
#t2:target #dos,
#t3:target #tres,
#t4:target #cuatro,
#t4:target #cinco {
  transform: scale(1.2) !important;
}
 
ul {
  position: fixed;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  height: 280px;
  width: 10%;
  padding: 0;
  text-align: center;
 }
 
#menu .icon {
  margin: 30px 0;
  transition: all .5s ease-out !important;
}
 
a {
  text-decoration: none;
}
 
.title, .hint {
  display: block;
}
 
.title {
  font-size: 38px;
}
 
.hint {
  font-size: 13px;
}
 
#p4 .hint {
  display: inherit !important;
}
 
.hint a {
  color: yellow;
  transition: all 250ms ease-out;
}
 
.hint a:hover {
  color: #FFF;
}
 
.line-trough {
  text-decoration: line-through;
}
 
.page .icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10%;
  left: 0;
  width: 270px;
  height: 170px;
  margin: auto;
  text-align: center;
  font-size: 80px;
  line-height: 1.3;
  transform: translateX(360%);
  transition: all .5s cubic-bezier(.25, 1, .5, 1.25);
}
 
.page#p1 .icon {
  height: 220px;
}
 
.page#p1 .icon {
  transform: translateX(10%) !important;
}
 
#t2:target .page#p2 .icon,
#t3:target .page#p3 .icon,
#t4:target .page#p4 .icon,
#t5:target .page#p5 .icon {
  transform: translateX(0) !important;
  transition-delay: 1s;
}
Copier après la connexion

Ce qui précède est la conception d'interface de menu de navigation à commutation d'une seule page CSS3 pure. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
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