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 :

Labels pas en face des inputs dans FireFox


Sujet :

CSS

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut Labels pas en face des inputs dans FireFox
    Bonjour,

    Je n'arrive pas à trouver la combine pour que les
    label s'aligne sur les input dans FF.
    Le pb survient quand on modifie les marges d'un
    input:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="script.php" name="my_form">
    <label for="nom">Nom: </label>
    <input type="text" name="nom" size="10" maxlength="20" 
    style="margin: 15px 0px 15px 0px;" />
    </form>
    Dans IE le label se recale sur la position du input, mais pas sous FF.
    J'ai essayé de renseigner les marges dans le label mais rien n'y fait.
    Quelqu'un aurait une solution ?

    Merci

  2. #2
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Bonjour,
    tout d'abord un élément form ne peut contenir directement que des élément de niveau block.

    Donc tu dois avoir (par exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form method="post" action="script.php" name="my_form">
    <p>
    <label for="nom">Nom: </label>
    <input type="text" name="nom" size="10" maxlength="20" 
    style="margin: 15px 0px 15px 0px;" />
    <p>
    </form>
    margin: 15px 0px 15px 0px; peut s'écrire margin: 15px 0; pas besoin de l'unité quand la valeur est à 0, ce qui est logique.

    Les labels n'acceptent pas les marges verticales tout simplement parce que
    ce sont des élément inline contrairement aux éléments de niveau block qui eux les acceptent (au même titre que les propriété de taille).

    Display:block permet de le faire comporter comme un élément de niveau block mais génère un retour chariot avant et aprés.
    Si tu souhaites doter le label de marges, tu dois donc lui attribuer la déclaration float:left qui génère une boîte de bloc en faisant passer la valeur de display à block automatiquement.

    Mais le plus simple serait de mettre des marges verticales au p ou au form.

    Info: pour aligner deux éléments inline entre eux, utiliser la propriété vertical-align.

  3. #3
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    pourquoi mets tu ce style ?
    si tu enlève ton :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style="margin: 15px 0px 15px 0px;"
    ça fonctionne

    Sinon, essai ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form method="post" action="script.php" name="my_form">
    <label for="nom" >Nom: </label>
    <input type="text" name="nom" size="10" maxlength="20" 
    style="margin: 15px 0px 15px 0px;vertical-align: middle;"" />
    </form>


    EDIT: grillé par erwan31

  4. #4
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    Merci pour ces renseignements
    ça fonctionne maintenant.
    Le plus simple est effectivement de jouer avec les marges et le padding du <p>
    Malheureusement le bouton image placé à la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="image" src="button.gif" height="20" width="20" />
    n'est plus aligné dans IE, (il descend vers le bas même avec vertical-align: middle).

    Donc le plus efficace est finalement de mettre vertical-align: middle;
    dans chaque input ce qui met tout le monde d'accord.

  5. #5
    Membre averti Avatar de Neroptik
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    337
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 337
    Points : 402
    Points
    402
    Par défaut
    La bonne syntaxe serai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label>monLabel<input ... /></label>
    me semble il

  6. #6
    Membre régulier Avatar de SebastienM
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 310
    Points : 86
    Points
    86
    Par défaut
    La bonne syntaxe serait plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <label for="idChamp">Libellé</label>
    <input type="text" id="idChamp" name="idChamp" />

  7. #7
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Citation Envoyé par SebastienM Voir le message
    La bonne syntaxe serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <label for="idChamp">Libellé</label>
    <input type="text" id="idChamp" name="idChamp" />
    Exact

  8. #8
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,
    Citation Envoyé par Erwan31 Voir le message
    tout d'abord un élément form ne peut contenir directement que des élément de niveau block.
    C'est vrai pour le HTML strict et non transitional, or tintin72 n'affiche pas son doctype.

    [edit] réponse un peu plus explicite.

  9. #9
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Citation Envoyé par franculo_caoulene Voir le message
    Salut,
    C'est vrai pour le HTML strict et non transitional, or tintin72 n'affiche pas son doctype.
    Oui mais autant s'habituer dés à présent à respecter des règles de balisages
    correctes et rigoureuses, quelqu'en soient les évolutions futur (HTML 5 ou XHTML 2).
    Si dans le futur il est décidé que le site doive passer en type mime application/xhtml+xml et ben à ce moment là ça ne passera
    clairement pas, contrairement au simple passage en doctype strict qui ne
    fera qu'invalider le document sans générer d'erreurs d'affichage ou autre.

    Après je ne dis pas que c'est la règle à suivre absolument, c'est juste
    mon point de vue.

  10. #10
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut
    C'est vrai pour le HTML strict et non transitional, or tintin72 n'affiche pas son doctype.
    Je suis en xhtml1 strict
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Discussions similaires

  1. Pas de MAJ des tables dans OEM
    Par LIT016 dans le forum Entreprise Manager
    Réponses: 2
    Dernier message: 08/05/2006, 00h08
  2. Je n'arrive pas à faire des boucles dans un répertoire
    Par padodanle51 dans le forum Linux
    Réponses: 4
    Dernier message: 04/05/2006, 18h04
  3. Réponses: 6
    Dernier message: 16/03/2006, 18h32
  4. J'ai pas les infos des objets dans l'éditeur
    Par mister3957 dans le forum MFC
    Réponses: 3
    Dernier message: 20/02/2006, 19h43
  5. Ne pas tenir compte des accents dans une requete
    Par zamanika dans le forum Installation
    Réponses: 8
    Dernier message: 08/11/2004, 19h49

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