AccueilFAQRechercherMembresGroupesS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.


    Mission#3 - Cherchez l'erreur !

    Partagez
    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Lun 6 Jan 2014 - 9:36

    Et oui, c'est la rentrée... dur dur ! Heureusement qu'il y a Never-Utopia et les Guilde des Architectes pour se détendre !! Very Happy(non ?)

    Les deux premières missions ont été un succès, de belles participations et de bonnes explications. Je vous en félicite et j'espère que celle-ci suscitera autant d'intérêt.

    Cette mission va être progressive et faite sous forme de jeu. Le but ? Trouver l'erreur du code x). C'est très simple, je vais tout d'abord poster un code qui contient une erreur, un problème qui fait que l'affichage ne se fait pas comme je voudrais. Je vais expliquer ce que j'aimerais, montrer ce que donne le code, et c'est à vous de trouver l'erreur qu'il contient et corriger le code pour que tout s'affiche comme il faut.

    Une fois que la première erreur du code a été trouvée, et que tout le monde a bien compris, c'est à vous, n'importe qui, que ce soit celui qui a trouvé ou un autre, de poster à son tour un code dans lequel il y aura une erreur... et ainsi de suite x).

    Commençons donc avec ces blocs :

    Quanta autem vis amicitiae sit, ex hoc intellegi maxime potest, quod ex infinita societate generis humani, quam conciliavit ipsa natura, ita contracta res est et adducta in angustum ut omnis caritas aut inter duos aut inter paucos iungeretur.
    Post hanc adclinis Libano monti Phoenice, regio plena gratiarum et venustatis, urbibus decorata magnis et pulchris; in quibus amoenitate celebritateque nominum Tyros excellit, Sidon et Berytus isdemque pares Emissa et Damascus saeculis condita priscis.



    Code:
    <div style="width: 500px; margin: auto; padding: 5px;"><div style="float: left; width: 240px; height: 150px; overflow: auto; background: grey; margin: 10px; border: 5px solid darkgrey; color: darkgrey; padding: 5px;">Quanta autem vis amicitiae sit, ex hoc intellegi maxime potest, quod ex infinita societate generis humani, quam conciliavit ipsa natura, ita contracta res est et adducta in angustum ut omnis caritas aut inter duos aut inter paucos iungeretur.</div><div style="width: 240px; height: 150px; overflow: auto; background: brown; margin: 10px; border: 5px solid black; color: black; padding: 5px;">Post hanc adclinis Libano monti Phoenice, regio plena gratiarum et venustatis, urbibus decorata magnis et pulchris; in quibus amoenitate celebritateque nominum Tyros excellit, Sidon et Berytus isdemque pares Emissa et Damascus saeculis condita priscis.</div></div>
    <div style="clear: both;"></div>

    J'aimerais donc que ces deux blocs soient côte à côte et non l'un en dessous de l'autre. Mon bloc gris est en float left, et leur deux largeurs cumulées devraient rentrer l'une à côté de l'autre... Pourtant le bloc marron est en dessous, alors qu'il devrait être à droite du gris.
    Pourquoi ? Comment réparer ?


    Dernière édition par Sparrow-style le Mer 11 Juin 2014 - 11:50, édité 1 fois



    avatar
    Mélaïna
    FémininAge : 29Messages : 60

    le Lun 6 Jan 2014 - 10:26

    Coucou !

    Moi j'aurai fait ça :



    C'est un début de réponse ? ^^
    Ca marche chez moi mais pas sur le forum donc doit y'avoir autre chose
    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Lun 6 Jan 2014 - 10:33

    En fait le "clear" en fin de code ne rentre pas en ligne de compte, il est là simplement pour que le float s'arrête en fin de message et que ça ne perturbe pas l'affichage de la signature^^ Donc pour cet exemple ce n'était pas l'élément à déplacer. D'ailleurs, je trouve ça bizarre de tout encadrer par une div qui "clear" :hum: je comprends pas trop comment ça peut fonctionner, même chez toi...



    avatar
    Mélaïna
    FémininAge : 29Messages : 60

    le Lun 6 Jan 2014 - 10:40

    Oui j'ai vu. Et je sais pas pourquoi ça marche chez moi non plus !! lol

    Je vais continuer à creuser !
    avatar
    Mélaïna
    FémininAge : 29Messages : 60

    le Lun 6 Jan 2014 - 10:47

    Bon en fait, deuxième essai
    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Lun 6 Jan 2014 - 11:32

    Ton code donne ça :


    Quanta autem vis amicitiae sit, ex hoc intellegi maxime potest, quod ex infinita societate generis humani, quam conciliavit ipsa natura, ita contracta res est et adducta in angustum ut omnis caritas aut inter duos aut inter paucos iungeretur.
    Post hanc adclinis Libano monti Phoenice, regio plena gratiarum et venustatis, urbibus decorata magnis et pulchris; in quibus amoenitate celebritateque nominum Tyros excellit, Sidon et Berytus isdemque pares Emissa et Damascus saeculis condita priscis.

     


    Et oui en effet le problème venait des marges intérieures, extérieures ainsi que des bordures (qu'on oublie souvent), donc il y avait plusieurs solutions : on pouvait soit diminuer la largeur des blocs, soit celles des marges, soit encore augmenter la largeur totale du bloc qui contient l'ensemble (et fait 500px ici).

    Bravo Very Happy

    Donc si quelqu'un (oit ou un autre) veut poster un code contenant une erreur, qu'il ou elle se fasse plaisir Razz



    avatar
    Këdherys
    MasculinAge : 20Messages : 130

    le Lun 6 Jan 2014 - 18:59

    Ouais moi :DD Un tout simple mais vraiment tout simple !

    Google moi ça !

    Code:
    <span style="font-size: 24 px; text-decoration:underline;"><a href="http://google.fr/" title="Google !">Google moi ça !</span></a>
    Pourquoi ce n'est pas correct ? Pour les plus poussifs quel est mon erreur  ?




    avatar
    Mélaïna
    FémininAge : 29Messages : 60

    le Lun 6 Jan 2014 - 21:29

    Il faut inverser la balise
    Code:
    </span> et </a>
    ? :)
    avatar
    Killae Adams
    FémininAge : 17Messages : 114

    le Lun 6 Jan 2014 - 21:34

    Hello ! Google moi ça !

    Je compare le HTM à un poème, il va falloir vous y faire.

    Rimes Alternées
    Code:
    <span><a></span></a>
    Prenons a pour span et b pour a ça nous donne abab Or c'est la seule rime que le HMTL ne met pas dans ses poèmes.

    Rimes plates
    On peut mettre des rimes plates (aabb) ou
    Code:
    <span></span><a></a>

    Rimes embrassées
    Mais pour beaucoup de choses dans le HMTL, on utilise des rimes embrassées.
    Code:
    <span><a></a></span>
    Résumé
    aabb plat - yes
    abab alternées - non
    abba embrassées - yes
    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Mar 7 Jan 2014 - 8:21

    Très jolie comparaison avec les poèmes ^^



    avatar
    Këdherys
    MasculinAge : 20Messages : 130

    le Mar 7 Jan 2014 - 19:15

    Très juste ! Killae Adams (joli poème aussi Wink) et Mélaïna ! En effet, il s'agit là d'une erreur qui arrive souvent, hélas : Mal refermer ses balises dans le bon ordre (ou oublier de fermer un div ^^')

    Mais personne ne s'est intéressé au HTML du span on dirait Wink ... Aucune erreur vous pensez ?




    avatar
    Onyx
    FémininAge : 23Messages : 3047

    le Mar 7 Jan 2014 - 20:47

    Bouh!

    Google moi ça !

    Oui bon, il faut mettre d'espace entre le "24" et le "px" ou ça ne marche pas...
    Et comme il y a un "none" en tant que "text-decoration" pour les liens sur N_U, il faut mettre le "span" dans le "a" si on veut que le soulignement apparaisse.
    Code:
    <a href="http://google.fr/" title="Google !"><span style="font-size: 24px; text-decoration: underline;">Google moi ça !</span></a>

    Edit: Narja> Mais c'est plus efficace de le mettre directement dans le a, c'est vrai ^^


    Dernière édition par Onyx le Mar 7 Jan 2014 - 21:05, édité 2 fois
    avatar
    Ehawee
    FémininAge : 24Messages : 4627

    le Mar 7 Jan 2014 - 20:52

    Bon, déjà, y'a l'inversion span & a, et pour le code en lui-même... le 24px et le text-decoration bah, je sais pas, le span est-il vraiment nécessaire? Techniquement, pour appliquer le font-size et le text-decoration, t'en as pas besoin dans ton cas de figure, en tous cas, si? Et dans ce cas, si tu l'appliques au lien, faut caser un "important" sinon ça s'applique pas ^^" Mais bref, moi j'aurais fait ça (ah, et il y a un espace de trop entre le 24 et le px, non?)

    Google moi ça !

    Code:
    <a href="http://google.fr/" title="Google !" style="font-size: 24px!important; text-decoration: underline!important;">Google moi ça !</a>

    Edit: houps, j'avais pas calé la réponse d'Onyx ^^ pas bête l'idée du span dans le "a" ^^



    Absence jusque début juillet pour cause de concours ; merci de vous adresser à d'autres membres du staff Wink


    avatar
    Këdherys
    MasculinAge : 20Messages : 130

    le Mer 8 Jan 2014 - 14:06

    Voilà voilà, je donne la relève pour un nouveau code (sinon j'en taperai un ce week-end un peu plus complexe ^^')

    En effet, c'est aussi une erreur au même titre que les oublis de ";" ! Il faut faire très attention dans le CSS lorsque l'on donne les valeurs ! ( ne pas mettre de virgule pour un box-shadow par exemple Wink ) Faite attention, prenez soin de vous et relisez vous ! (Oui même si votre code fait 500 lignes >.<)

    En espérant ne pas avoir fait un truc totalement moisi xD
    Merci de votre participation !




    avatar
    Onyx
    FémininAge : 23Messages : 3047

    le Mer 8 Jan 2014 - 18:24

    Bouh!

    C'est à mon tour! Je vais vous donner un code qui est assez d'actualité depuis que FA a installé le nouvel éditeur pour la PA et que les infobulles de certains bug.

    Voici le code tel que mis dans la PA:
    Code:
    <style>div.staffon {position: relative; width: 150px; height: 150px; border: 2px solid darkred; background: url('http://i48.tinypic.com/2ry1wd4.jpg');} div.staffon span {display: none;} div.staffon:hover span {display: block; position: absolute; width: 200px; border: 1px solid #858585; background-color: #dfdfdf; top: 120px; left: 120px; color: black; font-family: arial; font-size: 12px;} .staffonnom {font-size: 13px; font-weight: bold; background-color: #858585; color: #dfdfdf; text-align: center;} .staffondesc {height: 100px; overflow: auto; padding: 2px; text-align: justify;}</style>
    <div class="staffon"><span><div class="staffonnom">Alex <strike>Toto</strike> Black</div><div class="staffondesc">Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.</div><div class="staffonnom">Modérateur</div></span></div>

    Alex Toto Black
    Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.
    Modérateur


    Voici le code tel qu'il devient après qu'on édite la PA:
    Code:
    <style>div.staffon {position: relative; width: 150px; height: 150px; border: 2px solid darkred; background: url('http://i48.tinypic.com/2ry1wd4.jpg');} div.staffon span {display: none;} div.staffon:hover span {display: block; position: absolute; width: 200px; border: 1px solid #858585; background-color: #dfdfdf; top: 120px; left: 120px; color: black; font-family: arial; font-size: 12px;} .staffonnom {font-size: 13px; font-weight: bold; background-color: #858585; color: #dfdfdf; text-align: center;} .staffondesc {height: 100px; overflow: auto; padding: 2px; text-align: justify;}</style>
    <div class="staffon"><span></span><div style="" class="staffonnom">Alex <span style="text-decoration: line-through; ">Toto</span> Black</div><span></span><div style="" class="staffondesc">Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.</div><span></span><div style="" class="staffonnom">Modérateur</div><span></span></div>

    Alex Toto Black
    Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.
    Modérateur

    Le code est modifié après édition parce qu'il y a des erreurs dedans. Dîtes-moi pourquoi est-ce que cela fait ça et comment faire pour régler le problème Wink
    avatar
    Ehawee
    FémininAge : 24Messages : 4627

    le Mer 8 Jan 2014 - 18:42

    Il me semble que ça vient des balises que Forumactif referme automatiquement, non?

    Dans ton code mis sur la PA (donc AVANT le nouvel éditeur) les "span' servent à délimiter l'infobulle, ils encadrent donc ce qui sera dans ton infobulle

    OR Forumactif referme automatiquement les span (et a transformé ton strike en span aussi) d'où le bordel le plus total.

    Je me demande si on pourrait pas corriger ça en premier lieu en passant le strike en div+display: inline (ouais, ça me paraît bourrin, mais... xD) de façon à ce que Forumactif arrête de le passer systématiquement en "span" à chaque édition de la PA, et pour les span, va falloir se résoudre à virer à chaque édition la balise qu'ils ferment automatiquement, je pense xD





    Absence jusque début juillet pour cause de concours ; merci de vous adresser à d'autres membres du staff Wink


    avatar
    Onyx
    FémininAge : 23Messages : 3047

    le Mer 8 Jan 2014 - 20:08

    Effectivement, les balises de Forumactif se referment toutes seules, mais c'est parce que le code est mal fait et cela ne le ferait pas s'il était correct.

    Tu as raison pour les span, c'est bien à ça que cela sert ^^

    Pour le strike, ce serait effectivement une solution, mais quand on trouve quel est le problème avec les "span", cela serait aussi problématique.

    Bref, tu as une partie de la solution, mais on peut encore améliorer cela pour tout régler d'un coup sans que l'éditeur de forumactif ne détruise tout Wink



    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Jeu 9 Jan 2014 - 9:52

    C'est une bonne question ça, j'avais vu que l'éditeur des messages avait été appliqué à la PA mais je ne savais pas qu'il engendrait des problème d'infobulle. Je ne fais pas mes infobulles comme ça à vrai dire et sur celles que je suis allé voir sur mes forumtest elles fonctionnent très bien.
    Je tente de répondre donc... (moi aussi j'veux apprendre Razz) : je me demande si c'est pas le fait d'enfermer une "div" dans un "span" qui ne lui plait pas et qui ne serait peut-être pas correct. Un span est, par nature, de type "inline" alors qu'une "div" est de type "block". Le "span" ouvert tout seul avant la div, sans class ni rien, est donc toujours de type inline.
    En plus je trouve cette façon de faire peu pratique car elle oblige à changer l'image de fond pour changer le portrait du membre, alors qu'on pourrait mettre l'image directement dans le code avec une autre méthode. Enfin c'est pas la question pardon. Donc voilà, je dirais que le "span" n'est pas une bonne idée et que peut-être le fait de mettre une div à la place règlerait le problème ?



    avatar
    Ehawee
    FémininAge : 24Messages : 4627

    le Jeu 9 Jan 2014 - 13:49

    Hey ^^"

    c'est vrai que le block dans un inline ça ferait bizarre. J'avoue que j'ai beau chercher, je vois pas vraiment ce que ça pourrait être en fait, le fail  :hum:  (du coup, je vais zyeuter avec beaucoup d'attention la réponse, parce que ça m'intrigue ^^")

    (HS total >> Y'a une autre façon de faire une infobulle? ça aussi ça m'intrigue, j'ai appris à les faire sur ce principe là aussi, moi)



    Absence jusque début juillet pour cause de concours ; merci de vous adresser à d'autres membres du staff Wink


    avatar
    Onyx
    FémininAge : 23Messages : 3047

    le Jeu 9 Jan 2014 - 16:54

    Bouh!

    Et 1 morceau de robot pour Sparrow!

    C'est comme Sparrow l'a dit, on n'est pas supposé mettre une balise de type block dans une balise de type inline. C'est comme mettre une majuscule au milieu d'un mot. Qu'il y ait une class avec un display ou non, il reste que la balise est essentiellement inline ou block et que c'est une erreur de syntaxte de mettre un block dans un inline. Comme l'éditeur est Open Source, il essaie de corriger cette erreur en fermant les balises span, ce qui fait un magnifique fail pour ceux qui ont fait cette erreur parce que ça fonctionnait avant.

    Pour le strike, c'est apparemment devenu une balise désuette, tout comme la balise center et quelques autres, donc elles sont automatiquement transformées en span. Pour ça, il n'y a pas grand chose à faire que de s'arranger pour ne pas en mettre dans des infobulles qui fonctionnent avec des spans.

    Du coup, on peut fonctionner de deux façons ^^

    La première façon est de remplacer le span de l'infobulle par un simple div et les div à l'intérieur de l'infobulle par des span, mais c'est long pour rien:
    Code:
    <style>div.staffon {position: relative; width: 150px; height: 150px; border: 2px solid darkred; background: url('http://i48.tinypic.com/2ry1wd4.jpg');} div.staffon div {display: none;} div.staffon:hover div {display: block; position: absolute; width: 200px; border: 1px solid #858585; background-color: #dfdfdf; top: 120px; left: 120px; color: black; font-family: arial; font-size: 12px;} .staffonnom {display:  block; font-size: 13px; font-weight: bold; background-color: #858585; color: #dfdfdf; text-align: center;} .staffondesc {display:  block; height: 100px; overflow: auto; padding: 2px; text-align: justify;}</style>
    <div class="staffon"><div><span class="staffonnom">Alex <span style="text-decoration: line-through;">Toto</span> Black</span><span class="staffondesc">Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.</span><span class="staffonnom">Modérateur</span</div></div>

    La deuxième façon est simplement de changer le span de l'infobulle par un div avec une class. Donc à la place d'avoir "div.staffon:hover span", on aura "div.staffon:hover .infobulleon".
    Code:
    <style>div.staffon {position: relative; width: 150px; height: 150px; border: 2px solid darkred; background: url('http://i48.tinypic.com/2ry1wd4.jpg');} div.staffon .infobulleon {display: none;} div.staffon:hover .infobulleon {display: block; position: absolute; width: 200px; border: 1px solid #858585; background-color: #dfdfdf; top: 120px; left: 120px; color: black; font-family: arial; font-size: 12px;} .staffonnom {font-size: 13px; font-weight: bold; background-color: #858585; color: #dfdfdf; text-align: center;} .staffondesc {height: 100px; overflow: auto; padding: 2px; text-align: justify;}</style>
    <div class="staffon"><div class="infobulleon"><div class="staffonnom">Alex <span style="text-decoration: line-through;">Toto</span> Black</div><div class="staffondesc">Nulla metus neque, interdum ac libero at, cursus rutrum lectus. Nullam viverra risus nec lorem facilisis, consectetur pellentesque erat molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed scelerisque nulla erat, dignissim blandit libero consectetur vitae.</div><div class="staffonnom">Modérateur</div></div></div>

    Sparrow> Oui ce n'est pas nécessairement pratique pour l'image, je le mets habituellement en "img" juste avant l'infobulle, mais comme j'avais juste une infobulle à faire et non plusieurs, je n'y ai pas vraiment fait attention ^^

    Donc voilà pour mon tour, à quelqu'un d'autre Razz
    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Ven 10 Jan 2014 - 8:51

    Ouiiiii !! Very Happy *trop content*

    Bah faudra que je mette le code dans le LS, ou que je fasse un tuto' directement tiens, comme ça, ça me fera réviser aussi et comme les gens l'utilisent beaucoup...
    En fait je mets juste l'image normalement dans le bloc, et le span de description (la bulle) à l'intérieur du bloc aussi, donc au survol du bloc global le span apparait. C'est le même principe mais j'ai plus l'habitude du mien donc celui-là me parait plus bizarre.

    Merci pour l'info' du coup Onyx, c'était une très bonne idée de donner cette recherche d'erreur, j'avais rien remarqué de particulier dans l'éditeur moi :/

    Aller quelqu'un d'autre pour un petit défi de recherche d'erreur ? ^^



    avatar
    Taoro
    MasculinAge : 24Messages : 78

    le Mer 29 Jan 2014 - 10:21

    Bonjour !

    Juste à propos du positionnement des blocs côte à côte, ne serait-il pas plus simple de leur définir la propriété CSS :
    Code:
    display: inline-block;



    avatar
    Okhmhaka
    FémininAge : 32Messages : 31851

    le Mer 29 Jan 2014 - 10:25

    Pas bête, mais sur une div dont tu as défini des largeurs+marges trop importantes pour qu'ils se tiennent à côté un "inline-block" ne servirait à rien je pense.
    Par contre, je pense qu'il serait bien d'aborder les display dans une missions, la prochaine par exemple x) car on oublie trop souvent ce "inline-block"^^



    avatar
    simonriou
    MasculinAge : 22Messages : 46

    le Sam 15 Fév 2014 - 6:47

    Yop!

    Je propose un défi^^

    Le code originel donne:

    Yopla!


    Mais le voici avec des fautes:

    Code:
    <span style "font-size: 20px; color: #228b22; pading-top: 5 px;"><center>Yopla!</center></span>

    Je sais que ce n'est pas difficile, mais pour une fois que je peux participer à une mission, j'en profite^^
    avatar
    Whitemoon
    FémininAge : 17Messages : 695

    le Sam 15 Fév 2014 - 14:05

    il manque un d au mot "padding" ensuite je pense que ce serait mieux de remplacer la balise
    par "text-align:center; dans le style de la balise span =)
    J'ai juste ? =3



    Contenu sponsorisé


      La date/heure actuelle est Sam 18 Nov 2017 - 18:27