Utiliser des sprites pour créer un menu de navigation rempli de sensations

Les sprites CSS peuvent augmenter considérablement les performances d'un site Web et avec jQuery, nous pouvons facilement implémenter des effets de transition impressionnants. Commençons.


Détails du tutoriel

  • Exigences:
    • Connaissance de base de jQuery
    • Connaissance de base de Photoshop
    • Connaissance de base de CSS
  • Difficulté: Intermédiaire
  • Temps d'achèvement estimé: 40 minutes

Qu'est-ce qu'un sprite CSS?

Les sprites remontent aux débuts des jeux vidéo, où ils étaient utilisés comme technique d'optimisation pour l'affichage de graphiques 2D. Un sprite CSS est une technique qui consiste à grouper des images pour ne former qu'une seule image maître, puis à n'afficher que les sections requises à l'aide d'attributs CSS (largeur, hauteur, position de l'arrière-plan, etc.)..

Dans ce tutoriel, nous allons créer un menu de navigation inspiré de Dragon Interactive. Ils ont un excellent concept de design, avec une utilisation parfaite des reflets et des couleurs.

Étape 1

Commencez par créer un nouveau document Photoshop d'une largeur de 800 x 500 x 500.

Étape 2

Ensuite, nous allons créer une règle horizontale à la marque 70px en allant voir -> nouveau guide; ce sera notre hauteur de menu.

Étape 3

Nous allons maintenant créer un menu de dossiers et, à l'intérieur, un sous-dossier appelé "Texte du menu".

Étape 4

Sélectionnez l'outil de texte (raccourci: t) et définissez les propriétés suivantes dans la boîte à outils.

  • Police: Franklin Gothic Medium Cond
  • Taille de police: 15pt
  • La couleur noire

D'autres polices peuvent également être utilisées, mais cette famille de polices convient mieux aux effets de texte incorporés que nous donnerons plus tard. Si vous ne possédez pas cette police, vous pouvez l'obtenir sur le site Web..

Étape 5

Créez une autre règle horizontale à 40 pixels, cela aidera à garder le texte de notre menu aligné horizontalement.

Étape 6

Maintenant, sélectionnez le dossier de texte du menu et tapez les mots de menu HOME, SERVICES, PORTFOLIO, ABOUT et CONTACT, en maintenant des espaces égaux entre eux. Il devrait maintenant ressembler à l'image ci-dessous.

Étape 7

Créez maintenant un autre dossier sous le dossier de texte du menu et nommez-le "Arrière-plan du menu".

Étape 8

Créons ensuite un nouveau calque dans le dossier Arrière-plan du menu, puis à l'aide d'un outil de sélection rectangulaire, créons une sélection de 100 pixels de large et de 70 pixels de haut..

Étape 9

Sélectionnez l'outil de dégradé (raccourci: g) et définissez les couleurs du dégradé de # 555555 à #adadae. .

Étape 10

Dessinez maintenant un dégradé en partant du bas de la sélection vers le haut de la sélection. puis donnez-lui un trait avec les propriétés suivantes:

  • Taille de course: 1px
  • Position: dehors
  • La couleur noire

Le trait a été ajouté pour donner de la profondeur à nos divisions de menu.

Étape 11

Maintenant Pour atteindre les extrémités très polies et pour créer le bon effet lorsque le survol de la souris se produit, nous lui donnerons un surlignage adjacent..

Étape 12

Allez à select> modify> contract et entrez 1px.

Étape 13

Sélectionnez l'outil de gravure et définissez les propriétés suivantes:

  • Taille du pinceau: environ 200 pixels
  • Dureté de la brosse: 0%
  • Gamme: Ombres
  • Exposition: 30%

Étape 14

Nous allons maintenant déplacer la division de menu vers la droite 1px, en utilisant l'outil de déplacement (raccourci: v) afin d'afficher le côté gauche du trait, ce qui était invisible en raison de sa position..

Étape 15

Créez des copies du calque ci-dessus et ajustez-les en fonction du texte du menu..

Deux choses à noter

  • Transformez (ctrl + t) et augmentez la taille du calque situé sous SERVICES et PORTFOLIO, car ils sont plus larges que les autres mots. Changer la longueur de 100px à 110px.
  • Le trait des couches adjacentes doit se chevaucher.

Voici à quoi ressemble le menu lorsque nous ajustons le positionnement des calques et le texte du menu en conséquence.

Étape 16

Afin d'intégrer l'effet typographique, nous ajoutons à notre texte l'effet "Ombre portée" avec les paramètres suivants:

  • Couleur: # b7b6b6
  • Opacité: 40%
  • Distance: 1px
  • Propagation: 100%
  • Taille: 0px

Étape 17

Il est maintenant temps de créer l'apparence du menu pendant le survol de la souris. Créez une copie du dossier "Arrière-plan du menu" et renommez-le en "Survol du menu". Ensuite, à l'aide de l'outil de déplacement, déplacez le dossier de 70 px vers le bas de sorte que la partie supérieure du menu nouvellement créé touche le guide horizontal..

La raison pour laquelle nous avons créé la copie du dossier de menu est que nous nous intéressons au positionnement du texte du menu. Si nous l'avions créé manuellement, nous devrions alors nous préoccuper de l'alignement exact du texte du menu, ce qui serait beaucoup plus fastidieux..

Étape 18

Maintenant, nous allons sélectionner la couche d’arrière-plan du menu de service dans le dossier "Menu Hover" et lui donner un bel effet élégant sur l’état de survol. Pour ce faire, commencez par créer une sélection en appuyant sur ctrl et cliquez sur le calque. puis appuyez sur supprimer, ce qui supprimera la teinte actuelle. Suivant…

  • Couleur - # 9de0ff à 0%
  • Couleur - # 0072ff à 50%
  • Couleur - # 005ead à 100% Emplacement

Sélectionnez le dégradé radial et tracez une ligne du bas de la sélection jusqu'à 30px au-dessus du haut de la sélection..

Étape 19

Notre travail n'est pas encore terminé. Pour lui donner un toucher lisse, nous devons le polir un peu plus. Pour créer une division de menu plus révélatrice, nous allons assombrir les bords. Pour ce faire, nous devons ajouter les effets suivants:

  • Sélectionnez l'outil de gravure, avec une taille de pinceau de 200 px, une plage - mettez en surbrillance et une exposition à 50%, appliquez-le sur les bords de la division..
  • Pour rendre les bords encore plus sombres, nous ajoutons un effet d’ombre interne:
    • Mode de mélange: lumière dure
    • Opacité: 70%
    • Distance: 0px
    • Étranglement: 0%
    • Taille: 10px

Étape 20

Appliquez un effet similaire au portefeuille et aux menus. Pour le menu de contact, modifiez les couleurs du dégradé en:

  • Couleur - # ff9dbd à 0%
  • Couleur - # ff0084 à 50%
  • Couleur - a00337 à 100%

Voici à quoi ressemble notre menu:

Étape 21

La division du menu d'accueil doit faire l'objet d'un traitement spécial; sélectionnez le calque en appuyant sur ctrl et en cliquant sur le calque. Appuyez sur Supprimer pour supprimer la teinte actuelle et sélectionnez l'outil de dégradé avec les couleurs suivantes:

  • Couleur - # fff5c0 à 0% Lieu
  • Couleur - # fae15d à 50%
  • Couleur - # eac500 à 100% Localisation

Cette fois, sélectionnez un dégradé linéaire et tracez un dégradé du haut au bas de la sélection..

Étape 22

Sélectionnez l'outil de gravure en conservant les mêmes propriétés à l'exception de la plage, réglez-le sur les demi-tons et appliquez des traits sur les bords, à l'exception du haut..

Étape 23

Maintenant, pour créer l’effet vitreux: sélectionnez l’outil Plume, assurez-vous que «Remplir la forme» est sélectionné, dessinez la forme comme celle de l’image et réglez son mode de fusion sur une lumière douce avec une opacité d’environ 40%..

Étape 24

Encore deux choses avant que nous ayons fini avec la partie Photoshop.

  • Tout d'abord, l'effet de texte dans le dossier "Menu survol" ne semble pas assez élégant. donc nous changeons la couleur de la propriété d'ombre portée.
    • Menu d'accueil
      • Couleur: # fff368
      • Opacité: 80%
      • Ajoutez également l'incrustation en dégradé: # 854406 à b75a03
    • Services, portefeuille et menus À propos
      • Couleur: # 78bbff
      • Opacité: 70%
    • Menu de contact
      • Couleur: # f78bb6
      • opacité: 80%
  • Deuxièmement, la dernière division du dossier Menu n’a pas de surbrillance adjacente à droite; Nous allons donc couper une petite partie du calque d'arrière-plan et l'aligner à côté du calque d'arrière-plan de contact. Ensuite, nous rogner l'image et enregistrer.

Enfin, notre image de sprite a l'air si:

Étape 25

Vient maintenant la section de codage, qui est assez facile. Créez un fichier html et ajoutez le code suivant:

       Menu génial   

Ici, nous avons créé un fichier HTML simple, qui consiste en une liste non ordonnée - notre barre de navigation. Avant de poursuivre, examinons quelques fichiers que nous allons maintenant importer:

  • style.css est le fichier CSS externe dans lequel nous allons styliser notre liste de navigation.
  • Nous avons importé jQuery pour l'animation en vol stationnaire.
  • Le plug-in d'accélération de jQuery est également utilisé, que nous examinerons plus tard.
  • Il est recommandé de créer un fichier js externe pour notre travail. Nous le faisons donc également dans "sprite.js".

Étape 26

Créez un fichier .js externe, appelé sprite.js, et collez-le dans le code suivant..

 $ (function () $ ('# navigation li a'). append (''); // span dont l'opacité s'anime lorsque la souris survole. $ ('# navigation li a'). hover (function () $ ('. hover', this) .stop (). animate ('opacity': 1, 700, 'aisanceSoutSine'), fonction ( ) $ ('. survol', ceci) .stop (). animate ('opacity': 0, 700, 'aisanceSautQuad')));

Lorsque le DOM est chargé, nous injectons une étendue dans notre balise d'ancrage. cette durée sera réellement animée. Ensuite, en utilisant la fonction hover pour la balise anchor, nous animons l'opacité de la plage. Pour créer une animation plus fluide, nous allons utiliser l'équation d'accélération. J'utilise 'aisoutsine' et 'aisoutquad'; n'hésitez pas à essayer d'autres combinaisons si vous le souhaitez.

Étape 27

Maintenant vient la partie CSS. Créez le fichier style.css. Vous trouverez ci-dessous l'image initiale de ce à quoi le menu ressemble. Pour l'instant, il n'y a que quatre points, car nous ne l'avons pas encore appelé.

Étape 28

Tout d'abord, nous alignons la liste.

 corps background: # 000000;  #navigation margin-left: 250px;  #navigation li float: left; 

Nous avons seulement déplacé un peu le menu au centre.

Étape 29

Style de la balise d'ancrage; son fond sera notre image de sprite.

 #navigation li a image de fond: url (images / sprite.jpg); bloc de visualisation; 

Le style d'affichage doit être défini pour bloquer; sinon rien ne sera affiché.

Dans la prochaine étape, nous donnerons à chacun le bon positionnement.

 .home background-position: 0px 0px; largeur: 102px; hauteur: 70px;  .services background-position: -102px 0px; largeur: 110px; height: 70px .portfolio background-position: -212px 0px; largeur: 108px; height: 70px .about background-position: -320px 0px; largeur: 102px; height: 70px .contact background-position: -422px 0px; largeur: 103px; hauteur: 70px

Ici, nous avons défini le positionnement de l'arrière-plan et la largeur de chaque balise d'ancrage. Les valeurs peuvent varier et il faut un peu de temps pour arriver à la perfection.

Étape 30

 #navigation a .hover background: url (images / sprite.jpg) no-repeat; bloc de visualisation; opacité: 0; position: relative; en haut: 0; gauche: 0; hauteur: 100%; largeur: 100%;  #navigation a.home .hover background-position: -0px -72px;  #navigation a.services .hover background-position: -102px -72px;  #navigation a.portfolio .hover background-position: -212px -72px;  #navigation a.about .hover background-position: -320px -72px;  #navigation a.contact .hover background-position: -422px -72px; 

Nous allons maintenant définir le CSS pour le span; c'est la même image de sprite qui est utilisée ci-dessus. La hauteur et la largeur sont faites à 100% de sorte qu'il occupe tout le bloc d'ancrage. Le fond de chaque balise span est ajusté, et finalement notre travail est terminé.

Étape 31

Notez qu'il faut du temps pour régler correctement la position et la largeur; vous pouvez vous retrouver avec des valeurs légèrement différentes pour ces attributs - et c'est parfaitement d'accord!

Ressources CSS Sprites

Ouf semble être beaucoup de travail, mais de grandes choses prennent du temps à construire. Voici quelques ressources supplémentaires que vous pourriez trouver utiles.

  • CSS Tricks propose un excellent tutoriel pour les débutants.
  • Trop fastidieux pour vous? Voici un plugin qui convertit votre image de sprite en un menu.
  • Un fan de MooTools? Découvrez ce tutoriel soigné.
  • cssSprites.com
  • Suivez-nous sur Twitter ou abonnez-vous au fil RSS Nettuts + pour obtenir les meilleurs tutoriels de développement Web sur le Web..