Aouch, tu as quelques petites choses un peu maladroites dans ton HTML, qui vont te ralentir plus tard, voici une analyse rapide :
- Code:
-
<td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="238" style="background-image: url(http://img11.hostingpics.net/pics/550472Sanstitre3.png); background-repeat:no-repeat; min-width:300px; z-index: 5;">
Je ne sais pas trop ce que vient faire là le {postrow.displayed.THANK_BGCOLOR}, je crois qu'il faudrait l'enlever.
- Code:
-
style="background-image: url(http://img11.hostingpics.net/pics/550472Sanstitre3.png); background-repeat:no-repeat; min-width:300px; z-index: 5;"
Pour ce qui est de la partie du style, il faut le mettre dans le CSS, pas dans le HTML.
Essaye toujours de séparer au maximum l'HTML et le CSS, c'est plus propre
!
- Code:
-
<span class="postdetails poster-profile">
{postrow.displayed.POSTER_AVATAR}<br/><br/>
<div class="profilinfo">
<!-- BEGIN profile_field -->
{postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
<!-- END profile_field -->
{postrow.displayed.POSTER_RPG}
</div>
</span>
1ère chose : une balise span est une balise de type "inline", elle ne peut normalement contenir que des balises de type inline aussi, hors tu as dedans du contenu de type "block" (la div par exemple), ce qui n'est pas "propre". N'hésite pas à faire une recherche sur les balises inline et les balises block sur Google pour mieux comprendre ce que je viens de dire.
Il faudrait donc remplacer cette span par une div.
- Code:
-
{postrow.displayed.POSTER_AVATAR}<br/><br/>
Tu n'as pas besoin des balises br
. Elles servent à faire des retours à la ligne, mais avec le nettoyage du CSS que nous allons faire, tu n'en auras plus besoin. En général, évite d'utiliser br pour faire des espaces entre les 2 éléments, utilise plutôt le CSS en rajoutant une marge là où cela est nécessaire.
- Code:
-
<div class="pseudop"><span class="name"><a name="{postrow.displayed.U_POST_ID}"></a><strong>{postrow.displayed.POSTER_NAME}</strong></span></div>
Ce code ci peut être un peu simplifié.
D'abord au tout début tu as :
- Code:
-
<div class="pseudop"><span class="name">
Tu n'as pas besoin de la span supplémentaire, tu peux remplacer cela par ce code (j'ai rajouter la class de la span à la première div) :
- Code:
-
<div class="pseudop name">
Ensuite tu as ceci :
- Code:
-
<a name="{postrow.displayed.U_POST_ID}"></a>
Ce code sert d'ancre pour dire au navigateur où aller quand on clique sur un lien vers un message précis. Dans l'exemple que tu m'as donné, voici comment cela rend : http://forum-test-fuyu.forumactif.org/t3-ma-propre-fiche#3
Normalement le lien amène vers tout en haut du message, mais comme pour toi il est mal placé, cela crée un bug et par défaut la vision est mise au mauvais endroit.
Par "mettre à l'intérieur", j'entendais déplacer ton code à toi pour le mettre entre les balises de la nouvelle div que tu as créée, à la place du commentaire que j'ai mis
Je t'ai fait une explication un peu longue, et je suis surement passée vite sur certains points, n'hésite pas à me poser plus de questions, ne t'inquiète pas tu ne m'embêtes pas du tout ^^.
Pour te simplifier la vie, j'ai essayé de te poster une version plus "propre" :
- Code:
-
<!-- BEGIN displayed -->
<tr class="post post--{postrow.displayed.U_POST_ID}" id="p{postrow.displayed.U_POST_ID}" style="{postrow.displayed.DISPLAYABLE_STATE}">
<td class="{postrow.displayed.ROW_CLASS}"{postrow.displayed.THANK_BGCOLOR} valign="top" width="238">
<a name="{postrow.displayed.U_POST_ID}"></a> <!-- ancre pour chaque message -->
<!-- début du profil décalé -->
<div class="profil-container">
<div class="postdetails poster-profile">
<div class="avatar">{postrow.displayed.POSTER_AVATAR}</div>
<div class="profilinfo">
<!-- BEGIN profile_field -->
{postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}
<!-- END profile_field -->
{postrow.displayed.POSTER_RPG}
</div>
</div>
<div class="pseudop name">{postrow.displayed.POSTER_NAME}</div>
</div>
<!-- fin du profil décalé -->
Rajoute dans ton CSS ceci :
- Code:
-
.profil-container {
position: relative;
left: -150px; /* profil décalé sur la gauche*/
}
Normalement en faisant comme cela, le seul gros bug que tu dois connaitre est la disparition de l'image de fond + un rapprochement de certains éléments en raison de la disparition des br.
Je code un peu à l'aveugle vu que sur mon forum test le résultat est très différent, donc j'ai pu omettre quelque chose d'important.
Dis moi si cela fonctionne bien. Il est important de nettoyer souvent son code HTML, car après sinon cela devient totalement impossible de s'en sortir, on y comprends plus rien