5568 sujets

Sémantique web et HTML

Bonjour à tous,

Je rencontre un problème lié à l'utilisation des ancres html.
Le contenu de mon site se situe dans des fichier php intégré dans mon fichier index par include php.
Lorsque je clique sur les ancres de mon contenu, le body se décale vers le haut.
En fait le navigateur décale la page dès qu'il y a des éléments sortant au bas de la fenêtre.

Je n'arrive pas à résoudre ce problême.
merci à qui veut bien y jeter un coup d'oeil

Voici le lien vers une page de démo.

http://invisuel.free.fr/TESTS/pbancre/
Modifié par elioth (12 Dec 2007 - 17:14)
je n'est pas été très clair.

Je veux que les ancres agissent seulement pour le div contenant le include php appellant le scroll, et non pour le body.
En gros que les décalages se produisent à l'intérieur du div sans affecter le reste de la page
qui contiendra des éléments dépassants les limites de la fenêtre du navigateur.

Merci, pour l'intérêt porté à mon problème.
Commence déjà à nettoyer ton code qui ne valide pas :
This page is not Valid (no Doctype found)!

La première étape de cet effort est donc de choisir un Doctype. Je te conseille celui du XHTML 1.0 Strict :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

En effet, tant que ceci n'est pas fait, le comportement de ton navigateur est difficilement prévisible et analysable.
Et tu trouveras par conséquent moins de personnes prêtes à t'aider à résoudre ton problème.
Bonjour,

Je ne crois pas que ça puisse marcher ainsi.

Ce genre d'effet est réalisable en Javascript. Par contre, s'il faut passer par Javascript (ou par un mécanisme du navigateur un peu spécifique comme dans ton essai) pour accéder au contenu, c'est plutôt problématique.

Surtout, j'ai quelques doutes sur l'ergonomie de la page produite.

Plutôt que d'utiliser une barre de défilement interne (et de bloquer le défilement sur toute la page Smiley sweatdrop ), peut-être faudrait-il se contenter d'un accès simple aux contenus (affichés les uns au dessous des autres), et utiliser Javascript en surcouche pour masquer/afficher tel ou tel contenu?