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 :

Placer des images dans des cadres


Sujet :

Positionnement en CSS

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Placer des images dans des cadres
    Bonjour à tous !

    Voici la page de mon site :


    Et j'aimerais placer des photos dans les cadres.
    Mais les photos que je veux placer ne sont pas de la même taille (longueur et largeur différente d'une photo à une autre).

    Est-ce que quelqu'un aurait une solution pour placer correctement les photos ?
    J'ai essayé avec position: relative en décalant à chaque fois pour chaque cadre, et en calculant la taille de l'image, en rajoutant tant de pixels en haut si l'image est plus grande en largeur qu'en hauteur et tant de pixels à gauche si l'image est plus grande en hauteur qu'en largeur.
    Extrait de mon code (ajouter tant de pixels sur la gauche... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function cadrer_au_milieu_left($width,$height,$numero_photo)
    {
    	if( ($height > $width) )
    		$deplus_en_left = round(( 52 - (52*($width/$height)) )/2);
    	else
    		$deplus_en_left = 0;
     
    	return $deplus_en_left;
    }
    Mais ça me donne cela :



    les images sont mal cadrés.

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Finalement j'ai réussi, j'ai fait des span avec des div plus un <img/>
    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       1. <span style="position:relative; top:6px; left:-20px;">
       2.  <div style="background-image:url('./img/cadre-photo.png'); background-repeat:no-repeat; height:79px;">
       3.   <img <?php echo $img1;?> src="./img/photos/1.jpg"  style="overflow:hidden; position:relative; top: <?php echo $ajout_image_1_top;?>px; left: <?php echo $ajout_image_1_left;?>px;"/>
       4.  </div>
       5. </span>
    ça fait très bidouille, mais bon ça marche :rolleyes:

  3. #3
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par jeff24 Voir le message
    ça fait très bidouille, mais bon ça marche
    Mais cela ne passera malheureusement pas le validateur W3C... (élément block dans un élément inline)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par HiRoN Voir le message
    Mais cela ne passera malheureusement pas le validateur W3C... (élément block dans un élément inline)

    Je veux bien faire d'une autre façon, mais pour l'instant j'ai trouvé que celle-ci qui marche... donc si quelqu'un a une idée, je prends !! ^^

  5. #5
    Membre émérite Avatar de HiRoN
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 035
    Points : 2 589
    Points
    2 589
    Par défaut
    Citation Envoyé par jeff24 Voir le message
    Je veux bien faire d'une autre façon, mais pour l'instant j'ai trouvé que celle-ci qui marche... donc si quelqu'un a une idée, je prends !! ^^
    Théoriquement, mettre :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div>
    <img src="..." ... />
    </div>
    Devrait suffire (me semble-t-il), si le CSS est bien construit.
    Le div prendrait en fond le "cadre", et l'image via des marges bien définis viendrait se positionner au bon endroit.

    J'ai un peu de mal à comprendre le "position:relative;" sur l'image car personnellement, je l'aurais passer en display:block + taille + marge...

Discussions similaires

  1. Imprimer des images dans des sous-dossier
    Par logan139 dans le forum Imagerie
    Réponses: 0
    Dernier message: 18/03/2009, 11h07
  2. Réponses: 2
    Dernier message: 04/06/2008, 14h51
  3. Afficher des images avec des espaces dans le nom
    Par Space Cowboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 15/03/2007, 07h18
  4. Réponses: 11
    Dernier message: 09/06/2006, 15h44
  5. Insertion des boutons et des images dans une JTable
    Par anouar dans le forum Composants
    Réponses: 2
    Dernier message: 17/11/2005, 20h23

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