Mmhh...
First, pourquoi tu mets la feuille de personnage partout? Là, la variable {postrow.displayed.POSTER_RPG} est à 3 endroits pour rien. Si tu ne veux pas l'afficher nul part, enlève-là carrément. Sinon, met là juste à un endroit.
Pour la flèche, c'est vrai que ce n'est pas vraiment idéal comme solution ><
Vu le reste de ton code (avant ton édit), je tricherais en ne mettant pas l'overflow hidden sur le
profil fond, tout simplement. J'entourerais le rang d'une div avec la même largeur que le fond
profil et c'est à lui que je donnerais l'overflow hidden. Comme ça, ça n'affecte que le rang, rien d'autre. Cela donnerait ceci comme modifications dans ton CSS :
- Code:
.fond_profil{
background-color: #A0D5D9;
height: 550px;
width: 220px;
border-top-left-radius: 33px 9px;
border-top-right-radius: 33px 9px;
border-bottom-left-radius: 33px 9px;
border-bottom-right-radius: 33px 9px;
position: relative;
margin: 0 10px;
}
.rang_mess_couper {
position: absolute;
width: 220px;
height: 80px;
overflow: hidden;
z-index: 49;
}
Et ton rang dans le template serait maintenant comme ceci :
- Code:
<div class="rang_mess_couper"><span class="rang_mess">{postrow.displayed.POSTER_RANK}{postrow.displayed.RANK_IMAGE}</span></div>
Pour le carré, oui, on peut enlever les "br" qui sont les séparations entre les différents champs pour le changer en un carré dans un span auquel on donne une classe :
- Code:
<script type="text/javascript">
$('.profil_mess_groupe > .deco_profil_mess').each(function(){$(this).html($(this).html().replace(/<br>/g,"<span class='carre_mess_groupe'>◘</span>"));});
</script>
Ensuite, on fait disparaître toutes les carrés avec display none et on fait réapparaître juste le nth-last-of-type qui reste.
Cela donne ceci dans le template :
- Code:
<div class="fond_profil">
<div class="rang_mess_couper"><span class="rang_mess">{postrow.displayed.POSTER_RANK}{postrow.displayed.RANK_IMAGE}</span></div>
<span class="avatar_mess avatar_position">
<div class="mess_lien_profil" tabindex="0">
<div class="profil_mess">
<!-- BEGIN profile_field -->
<span class="deco_profil_mess">
<span class="champ_carre">{postrow.displayed.profile_field.LABEL}</span>
<script type="text/javascript">$('.champ_carre').each(function(){$(this).html($(this).html().replace(/:/g,"■"));});</script>
<span class="italic_label">{postrow.displayed.profile_field.CONTENT}</span>{postrow.displayed.profile_field.SEPARATOR}</span>
<!-- END profile_field -->
{postrow.displayed.POSTER_RPG}</div>
</div>
{postrow.displayed.POSTER_AVATAR}</span>
<div class="profil_mess_groupe">
<!-- BEGIN profile_field -->
<span class="deco_profil_mess">
{postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}</span>
<!-- END profile_field -->
{postrow.displayed.POSTER_RPG}
</div>
<script type="text/javascript">
$('.profil_mess_groupe > .deco_profil_mess').each(function(){$(this).html($(this).html().replace(/<br>/g,"<span class='carre_mess_groupe'>◘</span>"));});
</script>
<span class="pseudo_mess">{postrow.displayed.POSTER_NAME}</span>
<div class="profil_mess_img">
<!-- BEGIN profile_field -->
<span class="deco_profil_mess">
{postrow.displayed.profile_field.LABEL} {postrow.displayed.profile_field.CONTENT}{postrow.displayed.profile_field.SEPARATOR}</span>
<!-- END profile_field -->
{postrow.displayed.POSTER_RPG}</div>
</div>
Et cela comme CSS (au complet, je ne me souvenais plus ce que j'avais ajouté, alors
) :
- Code:
/* Effet Avatar Slide */
.avatar_mess {
display: inline-block;
width: 200px;
height: 320px;
margin: auto;
overflow: hidden;
background-color: #75B4B9;
box-shadow: 0px 0px 6px #000000;
-moz-transform: all;
transition: 1s;
}
.avatar_position {
margin-top: 45px;
margin-left: 9px;
}
.profil_mess {
position: absolute;
width: 0px;
height: 320px;
margin-top: -125px;
margin-left: -194px;
overflow: auto;
background: #75B4B9;
color: #141313;
font-size: 11px;
transition: 500ms;
-moz-transition: 500ms;
z-index: 10;
}
.profil_mess_img{
margin-top: 23px;
width: 245px;
}
.pseudo_mess{
display: block;
position: relative;
z-index: 2;
width: 220px;
margin-top: -25px;
text-align: center;
font-size: 18px;
font-family: Impact;
padding-top: 5px;
}
.pseudo_mess a{
text-decoration: none;
}
.mess_lien_profil{
width: 40px;
height: 60px;
background-image: url(http://zupimages.net/up/16/27/oyd5.png);
background-repeat: no-repeat;
position: absolute;
margin-top: 123px;
margin-left: 194px;
cursor: pointer;
}
.mess_lien_profil:focus .profil_mess{
margin-left: -194px;
margin-top: -117px;
width: 200px;
height: 314px;
}
/*Apparence Profil Avatar*/
.fond_profil {
background-color: #A0D5D9;
height: 550px;
width: 220px;
border-top-left-radius: 33px 9px;
border-top-right-radius: 33px 9px;
border-bottom-left-radius: 33px 9px;
border-bottom-right-radius: 33px 9px;
position: relative;
margin: 0 10px;
}
.rang_mess_couper {
position: absolute;
width: 220px;
height: 80px;
overflow: hidden;
text-align: center;
z-index: 49;
}
.rang_mess {
width: 240px;
height: 30px;
background-color: pink;
position: absolute;
transform: rotate(-5deg);
margin-top: 30px;
text-align: center;
padding-top: 5px;
z-index: 50;
color: black;
right: -3px;
}
/* Profil sous avatar */
.profil_mess .deco_profil_mess{
display: block;
color: white;
padding-left: 3px;
}
.profil_mess .deco_profil_mess:nth-last-of-type(1),
.profil_mess .deco_profil_mess:nth-last-of-type(2),
.profil_mess .deco_profil_mess:nth-last-of-type(3),
.profil_mess .deco_profil_mess:nth-last-of-type(4){
display: none;
}
/*Champs pairs*/
.profil_mess .deco_profil_mess {
background-color: #A0D5D9;
}
/*Champs impairs*/
.profil_mess .deco_profil_mess:nth-of-type(odd) {
background-color: #388086;
}
.profil_mess .deco_profil_mess:nth-of-type(1){
margin-top: 27px;
}
.deco_profil_mess .italic_label {
font-style: italic;
}
/* Profil Ligne Groupe / Surnom */
/*Disparition des champs autres que groupe et surnom*/
.profil_mess_groupe .deco_profil_mess{
display: none;
}
/*Apparition de groupe et surnom*/
.profil_mess_groupe .deco_profil_mess:nth-last-of-type(3),
.profil_mess_groupe .deco_profil_mess:nth-last-of-type(4) {
display: inline-block;
background-color: #A0D5D9;
vertical-align: top;
margin-top: 10px;
font-family: Arial;
color: black;
text-transform: uppercase;
font-size: 13px;
}
/*Couleur de surnom*/
.profil_mess_groupe .deco_profil_mess:nth-last-of-type(4){
color: #8E2395;
}
/*On fait disparaître tous les carrés*/
.profil_mess_groupe .carre_mess_groupe {
display: none;
}
/*On garde juste le carré voulu*/
.profil_mess_groupe .deco_profil_mess:nth-last-of-type(4) .carre_mess_groupe{
display: inline-block;
color: #000000;
padding: 0px 3px 0px 3px;
}
.profil_mess_groupe {
text-align: center;
width: 200px;
margin: auto;
margin-bottom: 25px;
}
/* Profil Images roses */
.profil_mess_img .deco_profil_mess{
display: none;
}
.profil_mess_img .deco_profil_mess:nth-last-of-type(1), .profil_mess_img .deco_profil_mess:nth-last-of-type(2){
display: inline-block;
margin-right: 52px;
position: relative;
left: 13px;
width: 70px;
height: 70px;
}
.deco_profil_mess img{
width: 70px;
height: 70px;
}
Note : J'ai changé les "nth-last-child()" par "nth-last-of-type" parce que dans certains cas, le x dernier champ n'est pas nécessairement le x dernier enfant. Genre, si on a :
> div.truc
> > span.machin1
> > span.machin1
> > span.machin1
> > span.machin2
Et qu'on veut le dernier span.machin1, il faut dire "div.truc span.machin1:nth-last-child(2)" parce que c'est le 2e dernier enfant du parent (il y a span.machin2 qui est le premier). Du coup, si on ne sait pas que span.machin2 est là et qu'on met "div.truc span.machin1:nth-last-child(1)", on est foutu alors que si on utilise "div.truc span.machin1:nth-last-of-type(1)" ça fonctionne parce que nth-last-of-type sélectionne le dernier du même type. Du coup, il peut y avoir 12 trucs entre les span.machin1 et on sélectionne juste le dernier span.machin1 tout court.
C'est pas super important, c'est juste plus prudent ^^
Entre autre, moi qui avait les feuille de personnage d'activé, cela me créait des champs quelconque sous les champs normaux, donc cela décalait les enfants. nth-last-of-type a permis de régler le problème