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 :

[CSS]position:absolute; et image centrée


Sujet :

CSS

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut [CSS]position:absolute; et image centrée
    Bonjour à tous,

    Je suis en train de créer une carte de répartition de parc de machines en Europe, pour cela j'utilise le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="Test" STYLE="position:absolute; top:292px; left:257px; cursor:hand">
    <a href="javascript:;" onmouseover="return overlib('Test2');" onmouseout="return nd();" >
    <img id="DOTTest" src="./img/mini.gif" border="0">
    </a>
    </div>
    sur une carte de l'europe au format gif.

    Les coordonnées (ici 292,257) sont les coordonnées de villes donc pas trop modifiables sans quoi je risque de ne pas être précis.

    Sur chacun de ce point j'utilise une icone de machine, la taille de l'icone varie en fonction de l'importance du parc.

    Or il me semble que la référence qui est utilisée pour placer l'icône et le coin supérieur gauche de cette icone comme ceci (le rond sur mon dessin)

    o----
    | |
    -----

    Or comme mes icônes varient en taille cela donne des résultats assez désastreux avec des machines à Paris (gros parc donc grosse icone) qui se retrouvent dans le centre.

    Je voudrais donc que la référence soit au centre de mon icône comme ça :

    -----
    | o |
    -----

    Quelqu'un peut-il me confirmer ceci ? Si oui quelqu'un aurait il un solution "propre" à me proposer ? (par propre j'entends pas de modification des coordonnées )

    Merci d'avance à tous ceux qui liront et encore plus merci à ceux qui répondront !

    Bonne soirée

  2. #2
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Peut être ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <div id="Test" STYLE="position:absolute; top:292px; left:257px; cursor:hand">
    <a href="javascript:;" style="position:relative;top:-50%;left:-50%;" onmouseover="return overlib('Test2');" onmouseout="return nd();" >
    <img id="DOTTest" src="./img/mini.gif" border="0">
    </a>
    </div>
    Je te conseille d'enlever le cursor:hand dans ton div, ca risque de tromper tes utilisateurs...

  3. #3
    Membre du Club Avatar de Poseidon62
    Inscrit en
    Mars 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Mars 2004
    Messages : 102
    Points : 67
    Points
    67
    Par défaut
    Slt,

    Tes cercles, sont-ils calculés en fonction du parc ou alors est-ce que ce sont des images de tailles différentes en fonction du parc.

    Dans l'hypothèse où tu calculerais les cercles, en connais-tu les rayons ou les surfaces ?

    Dans ce cas, on pourrait peut-être utiliser les maths tout en considérant qu'un cercle s'inscrit dans un carré, et que dans ce cas le rayon constitue une demie médiane, ce qui nous donnerait le centre du carré (dans lequel est inscrit le rond............au cas où tu aurais décroché en route !!! ) que l'on pourrait placer où l'on veut.

    Si ce sont des images, tu pourrais par exemple, avec photoshop, recadrer pour créer un carré pile poil autour de ton rond, relever la taille du carré, et avec un javascript calculer de façon à placer l'image où tu le souhaite.

    Je te donne des pistes que je n'ai pas essayées moi-même, mais il serait intéressant d'essayer peut-être!

    ++

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Succès

    La solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id="Test" STYLE="position:absolute; top:292px; left:257px; cursor:hand">
    <a href="javascript:;" style="position:relative;top:-50%;left:-50%;" onmouseover="return overlib('Test2');" onmouseout="return nd();" >
    <img id="DOTTest" src="./img/mini.gif" border="0">
    </a>
    </div>
    fonctionne sous IE mais pas sous Firefox (bon en même temps la cible utilisateur n'a pas Firefox donc pas trop grave).

    Autant pour moi pour la main, tu as raison c'est un copier coller malheureux

    Merci de vos réponses !

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

Discussions similaires

  1. [CSS] Position d'une image en background
    Par Nsan dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 01/06/2007, 20h52
  2. [CSS] Position absolute et relative
    Par GyZmoO dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 04/07/2006, 18h04
  3. [CSS] défi avec position absolute et relative
    Par pmartin8 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 30/11/2005, 18h15
  4. [HTML/CSS] position absolute et centrage
    Par LE NEINDRE dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/08/2005, 11h11

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