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 :

Mise en page : Espace sous les images "cliquable"


Sujet :

CSS

  1. #1
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut Mise en page : Espace sous les images "cliquable"
    bonjour

    Je developpe un site, heberger ici pour l'instant : http://www.in-web.net/dev/museodirect/

    j'ai un espace (environ 4 pixels) en dessous des liens images, ça le fait sous firefox, ie8, pas sur opéra (on le remarque bien en sélectionnant l'image avec firefox).

    doctype : XHTML 1.0 Strict

    dans ma feuille de style j'ai mit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img{margin: 0; padding: 0; border: none;}
    J'ai testé de chercher des erreurs via le validateur w3c mais ça me dit que tout est valide.

    Auriez-vous une idée ? merci.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2009
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    au lieu de mettre img{...}, essaye avec img a{...}

  3. #3
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    ça ne change rien.

    si je rajoute : display: block; ça fonctionne mais ça ne m'arrange pas car du coup la propriété text-align n'a plus d'effet sur les images.

    y'a t'il une autre solution ?

    (Du coup, faudrais déplacer ce sujet dans le forum CSS )

  4. #4
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    J'ai trouvé :

    je ne sais pas pourquoi mais en rajoutant : vertical-align:middle;, ça fonctionne.

    Du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img{border: none; vertical-align: middle;}

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Bonjour,
    Oui c'est plus a sa place en CSS
    Juste une remarque, si tu avais eu tes images dans le body,
    tu n'aurais pas eu ce probléme.

    En effet ce ne sont pas les images qui étaient en causes , mais
    les héritages de tout les DIV

  6. #6
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par feralp Voir le message
    J'ai trouvé :

    je ne sais pas pourquoi mais en rajoutant : vertical-align:middle;, ça fonctionne.

    Du coup :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    img{border: none; vertical-align: middle;}
    Par défaut ton image est positionnée sur la baseline de son parent. L'espace au-dessous est l'espace nécessaire pour afficher les jambages des lettres (il augmente donc avec le font-size). Le vertical-align:middle aligne le milieu de ton image sur cette même ligne de base. L'espace que tu visualisais avant est donc à présent caché derrière ton image pour autant que sa taille soit supérieure au line-height.

    Dans le cas d'une très petite image tu pourrais très bien te retrouver encore confronté à cet "espacement parasite" aussi bien au-dessous qu'au-dessus de ton image.

    Si tu veux conserver ton centrage des images malgré un display:block, tu peux leur appliquer un margin: 0 auto;

    Citation Envoyé par FoxLeRenard Voir le message
    En effet ce ne sont pas les images qui étaient en causes , mais
    les héritages de tout les DIV
    Je ne comprends pas ce que tu veux dire ?
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  7. #7
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par Candygirl Voir le message
    Par défaut ton image est positionnée sur la baseline de son parent. L'espace au-dessous est l'espace nécessaire pour afficher les jambages des lettres (il augmente donc avec le font-size). Le vertical-align:middle aligne le milieu de ton image sur cette même ligne de base. L'espace que tu visualisais avant est donc à présent caché derrière ton image pour autant que sa taille soit supérieure au line-height..
    Ne pas oublier de préciser, CandyGirl, que c'est dû au mode de rendu standard déclenché par la DTD Strict, ce comportement est absent dans le mode de rendu Almost standard déclenché par une DTD Transitional (On peut dire que ce mode a été conçu pour éviter ce genre de comportement).
    Je ne réponds pas aux questions techniques par MP.

  8. #8
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Candygirl Voir le message
    Envoyé par FoxLeRenard
    En effet ce ne sont pas les images qui étaient en causes , mais
    les héritages de tout les DIV
    Je ne comprends pas ce que tu veux dire ?
    Juste que l'image étant dans une suite d'éléments DIV etc.. il y a héritage des espaces naturels de ces éléments

  9. #9
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 51
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par Macmillenium Voir le message
    Ne pas oublier de préciser, CandyGirl, que c'est dû au mode de rendu standard déclenché par la DTD Strict
    En faite ce n'est pas un oubli mais une omission volontaire ^^

    Je l'avais noté puis j'ai juste fait un petit test pour m'ôter un doute, et, euh, j'ai du rafraîchir genre la mauvaise fenêtre puisque je n'ai pas fait apparaître ce que je voulais alors que maintenant si. De plus il me semblait vaguement que cette problèmatique pouvait parfois apparaître sur les anciens IE hors doctype strict ? du coup j'ai préféré ne rien dire à ce sujet

    Merci pour la précision
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et si c'est le cas

  10. #10
    Candidat au titre de Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par Candygirl Voir le message
    Par défaut ton image est positionnée sur la baseline de son parent. L'espace au-dessous est l'espace nécessaire pour afficher les jambages des lettres (il augmente donc avec le font-size). Le vertical-align:middle aligne le milieu de ton image sur cette même ligne de base. L'espace que tu visualisais avant est donc à présent caché derrière ton image pour autant que sa taille soit supérieure au line-height.
    Merci Candygirl pour ces explications.

    Citation Envoyé par FoxLeRenard Voir le message
    Juste que l'image étant dans une suite d'éléments DIV etc.. il y a héritage des espaces naturels de ces éléments.
    Les blocs DIV n'ont par défaut aucun espace, non ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bug mise en page css sous IE6+, les autre ok.
    Par yann123456 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 19/01/2009, 22h36
  2. Menu CSS vertical, petit espace entre les images sous IE
    Par Death83 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/10/2005, 09h52
  3. [XHTML] html > xhtml : ajout d'un espace sous les images
    Par prgasp77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 28/05/2005, 18h43

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