• Résolu Codage pour présentation (accordéon)


    Dimanche 6 Août 2017 à 19:30
    Yuki Nashiro

    Bonjour/Bonsoir! 
    Sur le blog de LiseFleur: http://fichelapino.eklablog.fr/ j'ai été intéressée par un code de fiche avec sommaire (article en question, le deuxième code de l'article: http://fichelapino.eklablog.fr/lollipop-style-a118092072).
    Suite à cela j'ai commencer à bidouiller le code à ma sauce pour le rendre plus harmonieux avec un futur blog...
    SAUF QUE, je me suis rendue compte qu'avec le code initial (ainsi donc avec aussi le code bidouillé, que lorsqu'on clique sur la "partie 2" et "partie 3" on est renvoyé un peu plus bas sur la page, nous demandant alors de scroller vers le haut pour revenir au contenu...
    Auriez-vous une solution pour empêcher ce déplacement insupportable? Ou bien ce genre de défaut n'est pas corrigeable? (si c'est le cas, auriez vous un code qui remplacerais et donnerais un rendu très similaire et sans cet inconvénient? )

    Codage en question, venant de l'article:

    <div style="background-image: url('URL DE L'IMAGE'); width: 500px; height:200px;"></div>
     
    <div style="background-color: #199aca; width: 400px; padding: 10px 50px;"><div style="text-align: left;">
    <font size="6" color="#FFFFFF" face="arial">Pseudo</font></div></div>
     
    <div style="position: relative; left: 375px; top: -100px; height:0px;"><img src="URL AVATAR" style="border: 2px solid #fff; width: 80px; height: 80px; border-radius: 80px;"></div>
     
    <div style="background-color: #fff; width: 460px; padding: 20px;"><div style="text-align: center;"><font face="arial" color="#666666" size="3">
    <a href="#1" title="" target="" ><font color="#666666">TITRE PARTIE 1</font></a> &nbsp;-&nbsp;
    <a href="#2" title="" target=""><font color="#666666">TITRE PARTIE 2</font></a> &nbsp;- &nbsp;
    <a href="#3" title="" target=""><font color="#666666">TITRE PARTIE 3</font></a></font></div>
    <div style="text-align: center;"><div style="border-bottom: 1px solid #bbb;"><br></div></div></div>
     
    <div style="background-color: #fff; width: 500px; height:290px; overflow: hidden;">
     
    <div style="height: 240px; width: 450px; overflow: auto; padding:0px 25px 25px 25px; background-color: #fff;"><a name="1"></a><div style="text-align: center;"><font color="#666666">Titre Partie1</font></div><div style="text-align: left;"><font color="#666666">Texte</font></div></div>
     
    <div style="height: 240px; width: 450px; overflow: auto; padding:25px; background-color: #fff;"><a name="2"></a><div style="text-align: center;"><font color="#666666">Titre Partie2</font></div><div style="text-align: left;"><font color="#666666">Texte</font></div></div>
     
    <div style="height: 240px; width: 450px; overflow: auto; padding:25px; background-color: #fff;"><a name="3"></a><div style="text-align: center;"><font color="#666666">Titre Partie3</font></div>
    <div style="text-align: left;"><font color="#666666">Texte</font></div></div>
     
    <div style="height: 240px; width: 450px; overflow: auto; padding:25px; background-color: #fff;"></div></div>


    Merci à ceux qui pourrons m'aider!! Bonne journée! :D
    Yuki N.
    Lundi 7 Août 2017 à 10:35
    stormalo

    Bonjour,

    Concernant les points d'ancrage precis dans une page il ne faut pas utiliser name="nom_ancre",  mais id="nom_ancre"

    Et vérifier que nom_ancre n'est pas déjà utilisé comme identifiant sur la page

    Lundi 7 Août 2017 à 19:30
    Yuki Nashiro

    Bonsoir!
    Donc si je remplace les mots "name" ( surlignés dans la capture ci-jointe) par "id" cela devrait fonctionner? Et je dois donc renommer mes ancres par autre chose qu'un chiffre?

    J'ai donc corrigé "name" par "id": toujours le même soucis mais un peu moins qu'avant il me semble...
    (Et j'ai une remarque par la même occasion que sur le code (avec ou sans "id") que lorsqu'on clique le 1, puis le 2 puis le 3, cela nous fait donc descendre dans la page... ALORS QUE lorsqu'on clique 3 (ça nous fait bouger), puis 2 et puis 1, le problème n'est pas pour ces deux derniers, dans cet ordre là (sauf si l'on clique deux fois sur le même titre de partie, cela reprend à descendre)! D:
    Bon, j'ai alors aussi essayé de renommer les ancres... Mais ça n'a rien apporté de plus... 
    Je pense que cela se remarque bien que je n'y pige pas grand chose pour le moment, mais bon, j'espère me débrouiller mieux la prochaine fois ...

    Merci d'essayer de m'aider! 

    Lundi 7 Août 2017 à 22:11
    stormalo

    Il y a plus simple:

    1) réalise la page "Fiche"avec l'éditeur, sans t'occuper du code source ni des liens.

    2) place les liens dans le début de page en utilisant l'icône "Insérer/Editer un lien", avec dans la case url le nom de l'ancre à cibler, sous la forme #monancre  (si elle est dans la même page.)

    3) positionne ensuite le pointeur dans le texte au niveau du point d'ancrage et  utilise l'icône ancre. Indique le nom de l'ancre (sans le #). Termine par OK. 

    idem pour les ancres suivantes

    Ça fonctionnera sans avoir eu besoin d'écrire dans le code source ! !

    Exemple d'une page qui utilise plusieurs dizaines d'ancres, placées de cette façon

    Mardi 8 Août 2017 à 17:31
    Yuki Nashiro

    L'inconvénient de cet article c'est que les ancres renvoient donc à quelque chose plus bas... Alors que je cherche à atteindre un rendu où la suite n'est visible QUE si l'on appui sur le titre "partie 1", "partie 2", etc. :/
    Je me suis rendu compte que vous employez le terme "page", ce qui m'a fait essayer de créer une "page simple", j'ai alors pu constater que le problème est quasi réglé, donc sur ce format et non en tant qu' "article" le code fonctionne mieux... il me semble... Vu que cela ne nous renvoi pas au niveau des commentaire...

    Je pense donc que je vais réaliser uniquement des pages et proposer des articles en parallèle pour recevoir des commentaires...
    Le rendu de ce qui me semblais joli, bien qu'en cliquant ça renvoi plus bas:
    rendu du code html avec ancres (sans les modifications proposées)

    ----

    Votre solution d'encrage pourra certainement m'aider pour un autre codage sur lequel je bloquais... J'utiliser du CSS pour mettre en forme et déplacer des éléments html / des éléments de mon article, ce qui donnait:

    Aperçu du rendu du CSS & HTML (non énoncé) 
    Comme on peut le constater, il y a un immense bloc blanc en dessous... C'est là où devait se situer les éléments s'ils n'avaient pas étés déplacer par le CSS... Auriez vous une solution pour se débarrasser de ce vide?
    Si cela n'est pas solvable, je me contenterais de ne plus déplacer les éléments en question et me servir donc des ancres pour envoyer le lecteur à la partie en question... Merci!!

    Mardi 8 Août 2017 à 20:07
    stormalo

    smile j'ai employé le mot "page" au sens internet, c'est à dire la page html qui contient tout ce qui s'affiche à l'écran.

    Pour reprendre le vocabulaire du blog ça fonctionne aussi bien dans une page simple que dans un article.

    D'ailleurs le lien que j'ai indiqué en exemple conduit à un article qui comporte actuellement 100 ancres, permettant des mouvements vers le bas ou vers le haut

    Je conseille de repartir d'un article vierge de tout contenu ancien et ça fonctionnera obligatoirement s'il n'y a pas d'erreur de saisie.

    Si ça ne fonctionne pas bien indique sur ce forum la page ou l'article qui pose problème pour que quelqu'un puisse examiner le code et indiquer l'anomalie.

    Mardi 8 Août 2017 à 21:52
    Yuki Nashiro

    D'accord! 
    J'ai refais un article, vierge, et j'ai suivi ton explication et voilà le rendu:
    http://yukinashiro.eklablog.fr/le-carnivore-et-le-vegetarien-a130973142
    J'aurais aimé que ça rende quelque chose qui ne bouge pas sur la page, cela apparaît directement en face, remplaçant ce que l'on voyait... (je n'arrive pas à être plus claire...) Je remarque que les ancres simples sont plus adaptées sur les longs articles...

    Et pour l'autre codage (2ème img) je viens de remarqué que j'ai par mégarde supprimé l'article, où je sauvegardais régulièrement mon code que je modifiais petit à petit, du coup j’abandonne l'ancienne apparence d'article, je reste sur l'idée des ancres...
    Et je met ici le lien du code que j'avais donc modifié et qui me pose problème quand on clique et que ça fait bouger dans l'article alors que l'objet ciblé est plus haut...

    http://yukinashiro.eklablog.fr/le-carnivore-et-le-vegetarien-a130973782

    Merci pour les conseils!

    Mercredi 9 Août 2017 à 08:43
    Pipiou

    Bonjour à tous les deux,

    quand je lis "J'aurais aimé que ça rende quelque chose qui ne bouge pas sur la page, cela apparaît directement en face, remplaçant ce que l'on voyait..."

    peut-être utiliser un menu accordéon ? quand on passe la souris dessus hop ça affiche ce qu'il y a en-dessous :

    je m'y étais essayée sur cette page

    grâce au code source de PapyrockTest

    (c'est une idée en passant) 

     

    Mercredi 9 Août 2017 à 13:26
    Yuki Nashiro

    OHHHHHHHHHHHHH!!!
    Ça pourrait rendre plutôt pas mal!!!! Je vais essayer cela.
    Merci beaucoup pour la proposition Pipiou!
    (C'est en effet une manière détournée de faire ce que je voulais rendre visible, c'est sympas!)
    Dès que j'ai tenté le coup, je dirais si mon problème est enfin résolu! x') 


    Mercredi 9 Août 2017 à 21:02
    stormalo

    bonsoir à vous,

    ❶ En complément des infos de Pipiou qui sont prévues initialement pour réaliser un  type de menu, j'indique une autre possibilité, aussi facile a mettre en place, et qui (a mon avis) convient mieux pour du contenu : On positionne le pointeur sur un titre et le contenu apparait au dessous.

    C'est ici:
    http://le-blog-facile.ek.la/boites-deroulantes-au-survol-de-la-souris-p346459

     

    ❷ Concernant le code modifié et qui pose problème : je n'ai pas trop examiné, mais en replaçant les ancre 1  2  3  par niv1  niv2   niv3  ... ça semble déjà être amélioré.

    La règle conseillée : ne jamais commencer le nom d'un identifiant, ou d'une classe par un chiffre (et utiliser au moins deux caractères)




    Ce sujet est verrouillé. Vous ne pouvez donc pas poster de nouvelles réponses.