Probleme positionnement d'image

Fermé
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 - 6 nov. 2011 à 22:49
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 - 10 nov. 2011 à 14:35
Bonjour,

Je réalise actuellement un site où apparaissent des articles et des photos.

Je voudrais que le texte "englobe" 2 photos, une apparaissant en haut a droite, et l'autre en bas à gauche sous cette forme :

texte texte texte texte texte PHOTO1
texte texte texte texte texte texte
texte texte texte texte texte texte
PHOTO2 texte texte texte texte texte

Pour la photo 1, pas de problèmes en utilisant en CSS la propriété : float:right

Par contre, je n'ai aucune idée pour la photo 2 :s

J'ai essayé un truc du genre float:bottom right, mais ça ne semble pas exister, et en fouillant les forums je ne trouve vraiment rien, j'espère que vous pourrez me proposer une solution...

Merci d'avance...


A voir également:

8 réponses

Pepito One Messages postés 222 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 8 novembre 2011 37
7 nov. 2011 à 10:40
La position est à gauche alors float : left. Il faut que tu déclares ton image à la bonne hauteur dans ton texte donc presqu'à la fin.
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
7 nov. 2011 à 11:16
Oui merci pour ta réponse Pepito One, j'avais essayé un float:bottom left, et non float:bottom right comme j'ai écrit par erreur dans mon message, mais ça n'existe pas :(

"Il faut que tu déclares ton image à la bonne hauteur dans ton texte donc presqu'à la fin" = Le problème c'est que mon texte est récupéré d'une base de données, donc celui-ci peut faire 10 lignes comme 55 lignes :(

Une autre idée peut-être ??
0
Pepito One Messages postés 222 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 8 novembre 2011 37
7 nov. 2011 à 11:19
Tu peux rajouter dans ton css un "margin-top: x px" ou un "padding-top: x px", à tester.
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
8 nov. 2011 à 11:12
Non vraiment je bloque la, rien ne marche :'(

Moi qui pensait que l'on pouvait tout faire avec les CSS !!! lol

Si quelqu'un peut m'aider qu'il ou elle n'hésites pas....

Merci ;)
0
Pepito One Messages postés 222 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 8 novembre 2011 37
8 nov. 2011 à 11:30
As tu essayé avec "float : left" ? mais seulement avec left, ça ne marche pas avec bottom en même temps. C'est sûr que ton image sera placée à gauche. Après tu mets en plus ds le css : margin-top:60px. 60 c'est un exemple il faut moduler selon où se place ton image. As tu ta page en ligne ? ça serait plus simple pour te dire. Sinon tu travailles directement dans ta page HTML ou tu utilises un module d'insertion pour créer ta page ?
0
babane5 Messages postés 99 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 26 juin 2012 11
8 nov. 2011 à 11:36
Où tu t'amuse avec les positions absolute ou relative !
0
Pepito One Messages postés 222 Date d'inscription jeudi 13 octobre 2011 Statut Membre Dernière intervention 8 novembre 2011 37
8 nov. 2011 à 11:41
Oui mais en utilisant "position absolute ou relative" il ne repoussera pas le texte, il se positionnera dessus.
0
babane5 Messages postés 99 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 26 juin 2012 11
8 nov. 2011 à 11:53
donc, comme je le dis pour la troisième fois => ALIGN: Spécifie l'alignement de l'image par rapport au texte adjacent. Il peut prendre les valeurs: TOP, MIDDLE, BOTTOM, LEFT, RIGHT
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
8 nov. 2011 à 11:59
Alors oui j'ai essayé avec float: left; et margin-top:200px pour la photo2, mais le problème c'est que ça repousse le texte, ça donne ceci :

BLANC PHOTO1
BLANC texte texte
BLANC texte texte
BLANC texte texte
PHOTO2 texte texte
texte texte texte texte
texte texte texte texte


Mais toute cette partie blanche au début ça le fait pas :'(

Et en jouant avec les "position absolute relative " ça se positionnera sur le texte...
0
jolyjump3r Messages postés 1827 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 14 mars 2020 616
8 nov. 2011 à 16:20
Il suffit de placer ton image tout simplement avec une marge (margin). Pas de Float, juste aligne a gauche.
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
8 nov. 2011 à 17:10
Voici la version très simplifiée de mon code pour l'affichage des articles :

<?php
// Connexion à la base de données
include("config.php");

// On cherche les données des articles
$sqlRecup = 'SELECT titre_article,texte_article FROM article';
$reqRecup = mysql_query($sqlRecup) or die('Erreur SQL ! Requête Recup<br />'.$sqlRecup.'<br />'.mysql_error());
$dataRecup = mysql_num_rows($reqRecup);
while($row = mysql_fetch_array($reqRecup))
{
// On affiche le titre de l'article
echo '<h1>';
echo $row["titre_article"];
echo '</h1>';

// On affiche le texte de l'article
echo '<p class="article">'.$row["texte_article"].'</p>';

}
?>

Imaginons mes deux photos :

<img src="PHOTO1.jpg" alt="Photo 1" />
<img src="PHOTO2.jpg" alt="Photo 2" />

Comment procéderiez-vous ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jolyjump3r Messages postés 1827 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 14 mars 2020 616
8 nov. 2011 à 17:41
Et a quelle moment vous inserez votre image ?
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
8 nov. 2011 à 18:01
lol
Ben c'est ma question en fait, moi j'ai tout essayé, avant la balise <p>, entre les balises <p></p>, après la balise </p>, en essayant les float, margin, align en css, et je n'ai jamais réussi a avoir ce que je recherche...

C'est pourquoi je me demande ou vous les mettriez vous ? et en css comment feriez vous ?
0
jolyjump3r Messages postés 1827 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 14 mars 2020 616
8 nov. 2011 à 20:46
Peut etre que vous prenez le probleme dans le mauvais sens car c'est bizarre que ca ne marche pas. Si ca ce trouve c'est meme pas un probleme de CSS mais plutot de la gestion de votre site.
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
9 nov. 2011 à 10:05
C'est une possibilité, c'est pourquoi je vous demande conseil ;)

Mais bon en même temps j'ai fait de multiples essais, même sur http://www.cssdesk.com par exemple, donc sur du code qui n'a rien a voir avec mon site et ça ne marche pas mieux...

C'est vrai que ça semble facile, de la façon ou vous m'exposé la chose, et je vous en remercie, mais vraiment je suis désolé de vous dire que cela ne marche pas :'(

Une autre idée ? Un exmple concret ? svp, help me :'(
0
<p>
<img src="PHOTO1.jpg" alt="Photo 1" style="float:right; margin:0 0 15px 15px" /> Mon super article avec ma zolie photo en haut à droite !
</p>

<p style="clear:both;">
<img src="PHOTO2.jpg" alt="Photo 2" style="float:left; margin:15px 15px 15px 0;" />
La suite de mon super article avec ma zolie photo en bas à gauche !
</p>
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
9 nov. 2011 à 10:46
Oui, merci, mais dans mon cas je ne peux pas faire deux paragraphes, le texte étant récupéré dans une base de données, ou sinon il faudrait que j'utilise une fonction qui découpe le texte en deux, mais ça serait la vrai usine à gaz !! Vous comprenez ?
0
Dans ce cas :

CSS :

<style type="text/css" media="all">    
.img_left{    
 float:left;    
 margin:15px 15px 15px 0;    
}    
.img_right{    
 float:right;    
 margin:15px 0 15px 15px;    
}    
</style>


HTML :

<p class="article">   
<img src="photo1.jpg" alt="Photo 1" class="img_right" />Maecenas eget sem id purus blandit molestie quis eu lacus. Integer porttitor molestie elit, quis posuere massa placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.    
<img src="photo2.jpg" alt="Photo 2" class="img_left" />Maecenas eget sem id purus blandit molestie quis eu lacus. Integer porttitor molestie elit, quis posuere massa placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.    
</p>
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
9 nov. 2011 à 15:00
Ah mieux ! Merci Poivreblanc, mais toujours pas très pratique dans mon cas, car comme je récupère mon texte dans une base de données, je ne peux pas placer l'image 2 comme tu le fait car mon texte est un bloc si je puis dire...

Exemple :
$texteRécupéréDansBdd="Maecenas eget sem id purus blandit molestie quis eu lacus. Integer porttitor molestie elit, quis posuere massa placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas eget sem id purus blandit molestie quis eu lacus. Integer porttitor molestie elit, quis posuere massa placerat in. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ";

A l'affichage :
echo "<p class="article"><img src="photo1.jpg" alt="Photo 1" class="img_right" />'.$texteRécupéréDansBdd.'</p>";

Comment placer <img src="photo2.jpg" alt="Photo 2" class="img_left" /> dans $texteRécupéréDansBdd sachant que la longueur de celui-ci est variable selon les articles ?? :s
0
Pourquoi ne pas ajouter le code html des images directement dans ton article ?
Il te suffirait au final de faire ceci :

echo '<p class="article">'.$texteRécupéréDansBdd.'</p>';

Ce serait beaucoup plus simple à gérer tu crois pas ?
0
chris05 Messages postés 349 Date d'inscription jeudi 13 mars 2008 Statut Membre Dernière intervention 24 septembre 2024 28
9 nov. 2011 à 15:29
Je suis pas si sur que ça soit plus simple, car en fait ce sont les membres de mon site qui écriront les articles.

Pour ça, il y a un formulaire à trois étapes, ou plutot 3 formulaires :
1 - Il saisisse l'article et je l'insere dans la BDD
2 - Il upload une photo et j'insere le chemin dans la BDD
3 - Il upload une deuxieme photo et j'insere le chemin dans la BDD

Alors oui je pourrais faire un seul formulaire déjà, qui insere tout en même temps mais l'article et les photos seront toujours séparés, je ne vois pas comment insérer le code html de la photo 2 en plein milieu de l'article, le problème me semble être le même :'(
0
jolyjump3r Messages postés 1827 Date d'inscription mardi 8 novembre 2011 Statut Membre Dernière intervention 14 mars 2020 616
9 nov. 2011 à 15:29
En effet vous pouvez creer une feuille de style pour les images. Mais pour les placer a des endroit different c'est impossible. Sauf si vous creez des tables.

D'autant plus que c'est une base de donnee.
0
babane5 Messages postés 99 Date d'inscription mercredi 2 novembre 2011 Statut Membre Dernière intervention 26 juin 2012 11
7 nov. 2011 à 10:51
ALIGN: Spécifie l'alignement de l'image par rapport au texte adjacent. Il peut prendre les valeurs: TOP, MIDDLE, et BOTTOM (au-dessus, au milieu et en-dessous)
-1