Page d'accueil » Création de sites web » Création d'un champ de recherche CSS3 basculant

    Création d'un champ de recherche CSS3 basculant

    Cet article fait partie de notre "Série de tutoriels HTML5 / CSS3" - dédié à vous aider à faire de vous un meilleur concepteur et / ou développeur. Cliquez ici pour voir plus d'articles de la même série.

    CSS3 est le langage de feuille de style de nouvelle génération. Il introduit de nombreuses fonctionnalités nouvelles et intéressantes, telles que les ombres, les animations, les transitions, le rayon de la bordure, etc. Bien que les spécifications n'aient pas encore été finalisées, de nombreux fabricants de navigateurs ont déjà commencé à prendre en charge nombre des nouvelles fonctionnalités..

    Dans ce tutoriel, nous allons explorer certaines de ces fonctionnalités telles que ombre de texte, rayon de la frontière, ombres de boîte et transitions pour créer un champ de recherche bascule.

    La version photoshop de ce champ de recherche a été créée par Alvin Thong et peut être téléchargée à partir d'ici. J'ai essayé de recréer ce champ de recherche en CSS3 pur. Il est à noter que tous les navigateurs ne supportent pas les fonctionnalités CSS3 et pour essayer ce tutoriel, vous devez utiliser l'un des navigateurs modernes qui prennent en charge les fonctionnalités CSS 3.

    Prêt? Commençons!

    1. Doctype HTML5

    Nous allons commencer avec le balisage HTML. C’est très simple, après le Doctype HTML5 et le déclaration, nous avons un

    avec un identifiant appelé #wrapper à l'intérieur . Ceci est fait simplement pour définir la largeur de la zone de contenu et l’aligner au centre de la page.

    Ceci est suivi d'un

    avec un identifiant appelé #principale. Cet ID contient les styles qui définissent la grande boîte blanche autour du champ de saisie et du bouton de recherche. Ce
    a un
    déclaré à l'intérieur. Le formulaire a la champ de saisie de texte et le sbouton de recherche. Voici à quoi ressemble le formulaire sans qu'aucun style ne lui soit appliqué:

    Voici à quoi ressemble le code:

       Champ de recherche CSS3   

    Champ de recherche CSS3

    2. Créer le cadre de sélection

    Pour créer la grande boîte autour du formulaire, nous allons ajouter des styles au

    avec l'ID de #principale. A partir du code ci-dessous, vous remarquerez que la boîte a une largeur de 400 pixels et une hauteur de 50 pixels..

     #main width: 400px; hauteur: 50px; arrière-plan: # f2f2f2; rembourrage: 6px 10px; bordure: 1px solide # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  

    Le morceau de code important ici est le rayon de la frontière déclaration et la boîte ombre déclaration. Pour créer des coins arrondis, nous avons utilisé la déclaration CSS3 border-radius, ainsi que les préfixes de navigateur "-moz-" et "-webkit-" afin de garantir son fonctionnement dans les navigateurs basés sur gecko et webkit. Les déclarations d'ombre de la boîte peuvent sembler un peu déroutantes mais c'est en fait très simple.

     box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede; 

    Explication: Ici, le mot clé inset spécifie si l'ombre sera à l'intérieur de la boîte. Les deux premiers zéro indiquent le décalage x et le décalage y et le 3px indique le flou. Vient ensuite la déclaration de couleur. J'ai utilisé les valeurs de rgba ici; rgba signifie rouge vert bleu et alpha (opacité). Ainsi, les 4 valeurs entre parenthèses indiquent la quantité de rouge, de vert, de bleu et son alpha (opacité). Vous remarquerez que 5 séries de déclarations fantômes ont été regroupées. Cela peut être fait en les séparant par une virgule. Les deux premières ombres définissent l’effet de "lueur intérieure" blanc et les déclarations suivantes donnent à la boîte son aspect solide / trapu..

    Jouez avec ces valeurs pour comprendre comment cela fonctionne.

    Aperçu

    3. Styliser le champ de saisie

    Maintenant que la boîte est complète, passons à la mise en forme du champ de saisie.

     input [type = "text"] float: left; largeur: 230px; remplissage: 15px 5px 5px 5px; marge supérieure: 5px; marge gauche: 3px; bordure: solide 1px # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: encart 0 5 pixels 0 # ccc, encadré 0 6 pixels 0 # 989898, encadré 0 13 pixels 0 #dfdede; -webkit-box-shadow: encart 0 5px 0 #ccc, encart 0 6px 0 # 989898, encart 0 13px 0 #dfdede; box-shadow: encart 0 5 pixels 0 #ccc, encadré 0 6 pixels 0 # 989898, encadré 0 13 pixels 0 #dfdede;  

    Les styles déclarés pour le champ de saisie sont assez similaires à ceux décédés pour la grande boîte. #principale. Nous avons utilisé le même rayon de bordure (5px). Encore une fois, plusieurs ombres de boîte ont été matraquées.

     box-shadow: encart 0 5 pixels 0 #ccc, encadré 0 6 pixels 0 # 989898, encadré 0 13 pixels 0 #dfdede; 

    Explication: Vous remarquerez que cette fois-ci, le flou de l'ombre a été maintenu à 0 pour obtenir une ombre nette et un décalage vertical de 5 pixels est utilisé. Dans les déclarations successives, le flou a été maintenu à 0px mais la couleur et le décalage en y ont été modifiés. Encore une fois, jouez avec ces valeurs pour obtenir des résultats différents.

    Aperçu

    4. Styliser le bouton d'envoi

    Appelons le bouton de recherche.

     input [type = "submit"]. solid float: left; curseur: pointeur; largeur: 130px; rembourrage: 8px 6px; marge gauche: 20px; couleur de fond: # f8b838; couleur: rgba (134, 79, 11, 0,8); text-transform: majuscule; poids de police: gras; bordure: solide 1px # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; texte-ombre: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ccc; -webkit-transition: atténuation de l'arrière-plan de 0,2 seconde;  

    Outre les couleurs, le bouton de recherche a essentiellement les mêmes styles que celui de la boîte extérieure. Des bordures et des ombres de boîte similaires ont été utilisés sur le bouton. La nouvelle fonctionnalité introduite est la ombre de texte.

     texte-ombre: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); 

    Explication: dans le ombre de texte déclaration, les trois premières valeurs numériques sont respectivement le décalage x, le décalage y et le flou. Les valeurs de rgba indiquent la couleur de l'ombre. Dans le prochain ensemble de déclaration (séparé par une virgule), la valeur y est attribuée à -1. Ceci est fait pour donner au texte une “ombre intérieure” effet. L'état de survol / focus du bouton d'envoi a différentes valeurs de couleur d'arrière-plan et d'ombres.

    Aperçu

    Etat "actif" pour le bouton

    L'état actif du bouton a un peu plus de changements. En cela, j'ai attribué au bouton une position absolue et une valeur maximale de 5 pixels. Cela a été fait pour lui donner un aspect plus naturel, de sorte que le bouton ait été enfoncé de 5 pixels. Les autres modifications de l'état actif sont celles de la couleur d'arrière-plan et des ombres. Remarquez que j'ai réduit le décalage y des ombres pour lui donner un aspect "enfoncé". Voici le code pour l'état actif du bouton d'envoi:

     input [type = "submit"]. solid: actif background: # f6a000; position: relative; en haut: 5px; bordure: solide 1px # 702d00; -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ccc;  

    Le code complet (CSS)

    Ceci complète notre champ de recherche. Nous avons utilisé pas mal de nouvelles fonctionnalités CSS3. Voici le code CSS et HTML complet de ce champ de recherche.

     #main width: 400px; hauteur: 50px; arrière-plan: # f2f2f2; rembourrage: 6px 10px; bordure: 1px solide # b5b5b5; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 #dfdede; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,8), encart 0 2px 2px rgba (255, 255, 255, 1), 0 5px 0 #ccc, 0 6px 0 # 989898, 0 13px 0 # dfdede;  input [type = "text"] float: left; largeur: 230px; remplissage: 15px 5px 5px 5px; marge supérieure: 5px; marge gauche: 3px; bordure: solide 1px # 999999; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; -moz-box-shadow: encart 0 5 pixels 0 # ccc, encadré 0 6 pixels 0 # 989898, encadré 0 13 pixels 0 #dfdede; -webkit-box-shadow: encart 0 5px 0 #ccc, encart 0 6px 0 # 989898, encart 0 13px 0 #dfdede; box-shadow: encart 0 5 pixels 0 #ccc, encadré 0 6 pixels 0 # 989898, encadré 0 13 pixels 0 #dfdede;  input [type = "submit"]. solid float: left; curseur: pointeur; largeur: 130px; rembourrage: 8px 6px; marge gauche: 20px; couleur de fond: # f8b838; couleur: rgba (134, 79, 11, 0,8); text-transform: majuscule; poids de police: gras; bordure: solide 1px # 99631d; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; texte-ombre: 0 1px 2px rgba (255, 255, 255, 0,7), 0 -1px 0 rgba (64, 38, 5, 0,9); -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 5px 0 # b8882a, 0 6px 0 # 593a11, 0 13px 0 # ccc; -webkit-transition: atténuation de l'arrière-plan de 0,2 seconde;  input [type = "submit"]. solid: survol, entrée [type = "submit"]. solid: focus background: # ffd842; -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,9), encart 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,9), encart 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 #ccc; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,9), encart 0 2px 1px rgba (255, 250, 76, 0.8), 0 5px 0 # d8a031, 0 6px 0 # 593a11, 0 13px 0 # ccc;  input [type = "submit"]. solid: actif background: # f6a000; position: relative; en haut: 5px; bordure: solide 1px # 702d00; -moz-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; -webkit-box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 #ccc; box-shadow: encart 0 0 3px rgba (255, 255, 255, 0,6), encart 0 1px 2px rgba (255, 255, 255, 0,7), 0 3px 0 # b8882a, 0 4px 0 # 593a11, 0 8px 0 # ccc;  

    Nous espérons que vous avez apprécié ce tutoriel. N'hésitez pas à expérimenter avec ces fonctionnalités et n'oubliez pas de partager vos impressions.

    Note de l'éditeur: Cet article est écrit par Bharani M pour Hongkiat.com. Bharani est un concepteur / développeur de New Delhi, en Inde..

    © Savtec
    Informations utiles et conseils de développement Web. Programmation, conception web, CSS, HTML, JAVASCRIPT. Configurez et réinstallez WINDOWS. Création de sites et d'applications à partir de zéro.