5546 sujets

Sémantique web et HTML

Oyé Oyé !!
J'ai une question assez bete mais bon...
comment fait-on un lien qui pointe vers une partie du document? (<-- j'ai entendu dire que ca s'appelait une ancre...mais je sais pas comment on en fais une!!)

Merci
Modifié le 03 Dec 2004 - 23:18
Administrateur
Il suffit que cet élément ait un identificateur (id).
Ensuite, il suffit de pointer dessus avec le lien ancre (<a>) :


<balise id="toto">...

<a href="#toto">lien</a>
Bonjour,

Et bien tu as généralement défini les différentes parti de ton site avec des id.

Dont tu créé kkchose comme cela :

<a href="#recherche" tabindex="12">[Recherchez]</a>
Raphael a écrit :


<balise id="toto">...

<a href="#toto">lien</a>


héhé merci mais on le remplace par quoi "balise"?
Modérateur
Par la balise de ton choix... ca peut être un titre, un paragraphe, un tableau... peu importe. Seulement, cette balise doit avoir un ID, et cet ID te sers d'ancre. Smiley cligne
Modifié le 03 Dec 2004 - 22:52
Un exemple un peu plus concret :
...
<body>
<a href="#menu">Aller au menu</a>
...
<ul id="menu">
 <li>Accueil</li>
 <li>Contact</li>
</ul>
...
</body>
</html>


EDIT: Mon post est innutil pusiqu'il a trouvé la solution.. ^^
Modifié le 03 Dec 2004 - 22:55
Modérateur
Osiris1426 a écrit :
Comme je savais pas quoi mettre, j'ai mis un div et ca marche...


Mais dis-moi, ton lien pour aller à ton ancre, il va sur quoi ? un paragraphe ? Il doit bien se rendre à une partie de ta page où se trouve déjà une balise ? Inutile de rajouter un div juste pour ca... Smiley confus

On peut voir le code où tu as mis ton ancre ?
Modifié le 03 Dec 2004 - 22:58
Enfaite ce sont des comptes-rendu qui sont assez long donc j'ai decidé de faire des ancres.
Le document n'est pas encore en ligne mais ca fait un truc du genre:
Comptes-rendus
compte rendu du 11/11/04 (<-- lien qui pointe vers ce compte-rendu)
compte-rendu du 44/59/36 (<-- lien qui pointe vers ce compte-rendu)

compte-rendu du 11/11/04 (<-- le 1er lien pointe ici.)
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla


compte-rendu du 44/59/36 (<-- le 2eme lien pointe ici)
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla


voila un peu a quoi ca ressemble!
Modérateur
Pour compte-rendu du 44/59/36, tu dois utiliser un titre, comme h2 par exemple ? Pour lui mettre une ancre, n'ajoute pas un div, fais simplement mettre un ID à ton h2, comme ceci :


<a href="#compterendu1">Aller au compte-rendu du 44/59/36</a>
...
...
...
<h2 id="compterendu1">compte-rendu du 44/59/36</h2>
<p>Blah blah blah blah</p>


Tu vois l'idée ?
Modifié le 03 Dec 2004 - 23:10
Ah ouep ca y est j'ai compris

<a href="#compte-rendu.html">Compte-Rendu du 11/11/04</a>
<h2 id="compte-rendu.html">Compte-Rendu du 11/11/04</h2>

Modifié le 03 Dec 2004 - 23:12
Administrateur
Osiris1426 a écrit :
Ah ouep ca y est j'ai compris

<a href="#compte-rendu.html">Compte-Rendu du 11/11/04</a>
<h2 id="compte-rendu.html">Compte-Rendu du 11/11/04</h2>

Euh non pas vraiment Smiley ohwell un id, c'est un "nom", pas une adresse de page web.
Modérateur
Voici un exemple de base avec ta présentation actuelle :


<h1>Comptes-rendus</h1>
<ul>
   <li><a href="#compterendu11_11_04">Aller au compte rendu du 11/11/04</a></li>
   <li><a href="#compterendu44_59_36">Aller au compte rendu du 44/59/36</a></li>
</ul>

<h2 id="compterendu11_11_04">compte-rendu du 11/11/04</h2>
<p>bla bla bla bla bla bla bla bla bla</p>

<h2 id="compterendu44_59_36">compte-rendu du 44/59/36</h2>
<p>bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla</p>


N'oublis pas que les ID doivent avoir des noms uniques. Tu ne peux pas avoir deux ID (deux ancres) du même nom.
Modifié le 03 Dec 2004 - 23:24
Les id sont par définition uniques, en utilisant un positionnement via css nous déclarons et utilisons des id dans notre code, nous créons ainsi des ancres uniques.
Dans la page un lien avec #monid pointera sur l'id nommée "monid".
Mis à part des configurations comme la tienne où il faut déclarer des id supplémentaires, dans bien des cas les ancres prééxistent dans une page. Il faut juste les pointer.