5568 sujets

Sémantique web et HTML

bonjour,

J'aurai souhaité avoir des précisions sur les ancres.
Lorsque l'on place une ancre dans du code avec quelque chose comme
<h1 id="Titre 1">Titre 1</h1>

et qu'on l'appelle avec le lien correspondant, l'ancre est placé en haut de la page avec une page monobloc. Mais comment ca se passe exactement, qd il y a plusieurs blocs.
L'ancre est placée en haut de quel contener ? Uniquement la frame ou l'element body supérieur? Est il possible de la placer en haut d'un type de bloc particulier?

Je veux en fait, faire une page sans frame, mais avec un bloc placé de manière fixe qui joue le role de header. Sans manipulations spéciales, les ancres sont placées en haut du contener body, ce qui ne me convient pas car elles sont masquées par blocs header. Est-il possible de faire en sorte que les ancres soient recalées sous le header ?

Merci de m'éclairer ou de me transmettre un lien pouvant m'aider.
Modifié par snorky (23 Mar 2005 - 19:46)
Il faudrait tout de même finir par préciser clairement le vocabulaire !
Ces histoires de "frames" qui n'en sont pas tout en étant des frames, de frames principales (?)... finissent par conduire les gens à écrire des messages à peu près incompréhensibles.

frames n'a qu'un seul sens, celui de l'élément <frame> :
- Merci de ne pas l'employer pour désigner un autre élément dont on fige la hauteur et qu'on rend scrollable (je suppose que c'est l'idée ici - et accessoirement un mauvaise idée pour l'accessibilité)
- dans une page n'employant pas l'élément <frame>, il n'y a pas de "frame principal" (pas de <frameset>).

Ce petit coup de gueule général étant poussé Smiley cligne , snorky, pourrais-tu mettre en ligne une page reflétant ton idée, qu'on y voit un peu plus clair ?

<edit>
A moins que cette page de test ne corresponde à ton idée ?
http://test.blog-and-blues.org/fragment_identifier/
</edit>
Modifié par Laurent Denis (23 Mar 2005 - 09:20)
La technique de l'ancrage dans des mises en pages utilisant des zones scrollables est au plus haut point problématique. Encore un argument (en plus de celui, décisif, de l'accessibilité) contre l'utilisation de cette possibilité des css.
malheureusement, j'ai pas de site en ligne pour exposer mon idée, mais je vais essayer de la décrire aussi bien que je peux.

Mon but est de faire un header, en placant un bloc de maniere "fixed" en haut de ma page. Le reste de la page est contenu dans un bloc "static" qui a simplement une marge en haut suffisante pour ne pas etre masquée par le header. Ce bloc static va en fait correspondre au body.
Le resultat est une page avec un header fixe qui ne bouge pas meme quand on scrolle.

Le probleme est que les ancres/ou les liens, semblent etre relatifs au navigateur/au body ou html (ce que j'ai par erreur appellé frame principal auparavant) et donc un lien sur une ancre ne placera pas l'ancre en dessous du header, mais tout en haut de la page, c-a-d derrier le header (le header est avec un z-index supérieur aux autres elements).

Je pourrais obtenir le résultat souhaité en utilisant deux frames, une pour le header et une pour le corps de la page. Les ancres du corps seraient ainsi replacée en haut de cette deuxieme frame, et ne serait donc pas masquées par le header. Mais j'aimerai eviter l'utilisation des frames si possibles.

Je cherche donc concretement a savoir comment est choisi le placement de l'ancre apres un click sur le lien. Est-il systématiquement placé en haut de la page du navigateur, en haut du body, en haut d'un type de bloc spécial ?

bon je ne suis pas certain d'avoir été tres clair, j'espère que vous arriverez a comprendre mon bredouillage.

PS : pour le site, les exemples ne correspondent pas, car il manque un element fixe en header.
PS 2 : je vais essayer de mettre en ligne une version
bon, toujours pas de site en ligne, mais en tout cas, je sais maintenant qu'un element avec l'overflow auto ou scroll entraine un replacement des ancres qu'il contient en haut de lui meme, et non pas en haut de la page web comme c'est le cas pour les conteneurs normaux.

a+