IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

champ texte (form) avec background-image


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut champ texte (form) avec background-image
    Bonjour à tous,

    Je suis débutant en CSS et je n'arrive pas coder un champ de formulaire (moteur de recherche) avec une image rectangulaire en arrière-plan (+ idéalement une autre en survol) qui vient envelopper ce champ et son bouton OK.

    Le code de mon formulaire (fonctionne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <div id="champ_recherche">
    <form action="/spip.php?page=recherche" method="get">
    <input type="text" name="recherche" id="moteur" alt="Recherche" class="Recherche" value="Recherche" />
    <input name='page' value='recherche' type='hidden' />
    <input type="submit" value=" ok " />
    </form>
    </div>
    CSS :

    1ere alternative :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #champ_recherche {
    background-image: url(../../IMG/calques/moteur.png) no-repeat!important;
    }
     
    #champ_recherche hover {
    background-image: url(../../IMG/calques/moteur-rollover.png) no-repeat!important;
    }
     
    #champ_recherche input[type=texte] {
    width: 150px;
    }
    #champ_recherche input[type=submit] {
    width: 30px;
    }
    ou :

    2eme alternative :

    Juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #champ_recherche form {background-image: url(../../IMG/calques/moteur-rollover.png) no-repeat!important;
    }
     
    #champ_recherche input[type=texte] {
    width: 150px;
    }
    #champ_recherche input[type=submit] {
    width: 30px;
    }
    Aucune de ces 2 alternatives ne fonctionne... :-(

    A L'AIDE SVP ... MERCI !

  2. #2
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Bonjour,

    Il faut laisser un espace avant !important

    Sinon, pour changer l'état au survol de la souris, on utilise la pseudo-classe :hover, ce qui donne :

    #champ_recherche:hover et pas #champ_recherche hover

  3. #3
    Invité
    Invité(e)
    Par défaut
    ok je te remercie, c'est déjà çà de corriger !

    malheureusement ca n'a pas suffit car j'ai aucun changement :-(

  4. #4
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Tu as une adresse pour voir la page ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    salut c-s-s,

    voici :
    - ce que j'ai actuellement avec le code ci-dessous : http://cjoint.com/data/kcmoyBUkk4.htm
    - ce que je voudrais avoir (maquette graphique) : http://cjoint.com/data/kcmrgn42Mt.htm (avec l'image moteur.png)

    Code actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="menu_haut"> (5 premiers boutons ok...)
    <div id="champ_recherche">
    <form action="/spip.php?page=recherche" method="get"><input type="text" name="recherche" id="moteur" alt="Recherche" class="Recherche" value="Recherche" /><input name='page' value='recherche' type='hidden' /><input type="submit" value="ok" /></form>
    </div>
    </div>
    CSS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    
    #menu_haut {
    width: 784px;
    position: absolute;
    left: 206px;
    top:40px;
    }
    
    #champ_recherche {
    background-image: url(../../IMG/calques/moteur.png) no-repeat !important;
    width: 185px;	
    height : 46px;
    float:right;
    background-color:#000;
    border-top-right-radius:10px;
    -moz-border-radius-topright :10px;
    -webkit-border-top-right-radius:10px;
    border-bottom-right-radius:10px;
    -moz-border-radius-bottomright :10px;
    -webkit-border-bottom-right-radius:10px;
    }
    
    #champ_recherche:hover {
    background-image: url(../../IMG/calques/moteur-rollover.png) no-repeat !important;	
    width: 185px;	
    height : 46px;
    float:right;
    }
    
    #champ_recherche input[type=text] {
    margin: 15px 5px 5px 10px;
    width: 130px;
    height : 10px;
    }
    #champ_recherche input[type=submit] {
    width: 30px;
    }
    ce qui est en bleu est évidemment provisoire dans l'attente de pouvoir appliquer l'image de fond moteur.png (et moteur-rollover.png en survol).

    MERCI POUR TON AIDE :-)

  6. #6
    Membre émérite Avatar de c_s_s
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 619
    Par défaut
    Le propriété background-image sert à afficher une image, tu ne peux pas définir de répétition dans cette prorpriété.

    Soit tu écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    background-image: url(../../IMG/calques/moteur.png);
    background-repeat: no-repeat;
    background-color:#000;
    Soit tu utilises un raccourci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background: #000 url(../../IMG/calques/moteur.png) no-repeat;

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/04/2009, 12h11
  2. Réponses: 4
    Dernier message: 01/09/2007, 12h22
  3. Réponses: 1
    Dernier message: 23/08/2006, 17h38
  4. Réponses: 3
    Dernier message: 23/02/2006, 15h17
  5. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo